CALGARY — Redblacks quarterback Dominique Davis compensated for passing mistakes with his legs in Ottawa's 32-28 win over the Calgary Stampeders on Saturday.

Intercepted four times, Davis scored three rushing touchdowns, including the winner, in the Redblacks' first win at McMahon Stadium in the team's six-year history.

Trailing 28-25, Ottawa led for the first time in the game with a minute and a half to play on the quarterback's five-yard carry to score.

It was just the third career CFL start for the 29-year-old Davis, who is trying to establish himself as Ottawa's No. 1 following the departure of Trevor Harris to the Edmonton Eskimos in the off-season.

"For us as a team, it's huge," Davis said. "We haven't won in Calgary since the Redblacks first started.

"It's a great confidence-booster for and us. For me, definitely not the way I want to play, but I just kept plugging away. My teammates had my back through it all."

Lewis Ward kicked field goals from 43, 26 and 30 yards and Richie Leone contributed a pair of punt singles in a rematch of combatants from the 2018 Grey Cup.

Calgary beat Ottawa 27-16 to claim the CFL's championship trophy in Edmonton last November.

The Stampeders defence generated a lot of Calgary's offence.

Halfback Brandon Smith scored off an interception. The Stampeders turned two of Tre Roberson's three picks in the game into touchdowns.

Don Jackson and Juwan Brescacin scored majors for the hosts in front of an announced 26,301. Rene Paredes kicked field goals from 17 and 42 yards.

Davis completed 29-of-44 passes for 276 yards.

"We did a good job of responding every time I turned it over," Davis said.

With 275 passing yards in the game, Stampeders quarterback Bo Levi Mitchell reached a career 24,748 and moved past Russ Jackson (24,593) into the CFL's all-time top 20.

Mitchell completed 23-of-29 passes Saturday.

His throw to a covered Michael Klukas in the end zone on the final play of the game was intercepted by Jonathan Rose to preserve Ottawa's victory.

"Defence, honestly they played their hearts out," Mitchell said. "Offensively we just didn't. We didn't step up when we needed to. We didn't execute."

Down six points midway through the fourth quarter, Ottawa's De'Andre Montgomery recovered Lorenzo Jerome's punt-return fumble to give the Redblacks the ball on Calgary's 19-yard-line.

Ward's 30-yard field goal cut the deficit to three points down with just over five minutes to play.

"I do believe honestly we got outplayed and probably outcoached," Stampeders head coach Dave Dickenson said. "Let's be honest about that. We had our chances. We still could have won.

"I didn't feel our best players offensively were dialled in. We were close, but couldn't make the throws, couldn't make the catches, really couldn't control the line of scrimmage. That's a problem. I thought our defence did enough. They caused turnovers and scored."

Roberson's three interceptions matched his season total from 2018.

"That was a heck of a game for him," Dickenson said. "Tough to waste that type of performance and not come out of here with a win."

His team down 18-6 after the first quarter, Ottawa head coach Rick Campbell said coming-from-behind to win the season-opener was important in the growth of his quarterback and team.

"In a new year, it's always a knew version of your football team and there's big lessons in this game," Campbell said.

"The standings matter, but there's big lessons in how hard it is to win, how important it is to play smart football.

"It's so important to have belief and character. Those things matter when you get in a tough game that you can find a way to get it done."

Notes: Calgary defensive ends Junior Turner and Ese Mrabure, as well as running back Terry Williams didn't finish the game . . . According to the CFL, Ottawa (average age 26.8) and Calgary (27.0) have the youngest rosters in the league . . . Former Stampeder defensive all-star linebacker Alex Singleton, who signed with the NFL's Philadelphia Eagles, raised the Grey Cup championship flag prior to kickoff.