CALGARY -- Marquay McDaniel caught two touchdown passes as the Calgary Stampeders rallied from an early 17-point deficit to beat the Montreal Alouettes 25-22 on Saturday.

McDaniel also threw a touchdown pass to Eric Rogers, while Rene Paredes kicked a field goal and a single for the Stamps (4-2), who lost 29-11 to the Als in Montreal on July 3.

Alouettes quarterback Rakeem Cato connected with S.J. Green for his lone touchdown pass. Cato threw three touchdowns against Calgary in his CFL debut.

Stefan Logan also scored a touchdown on a punt return for the Alouettes (2-3), while Boris Bede kicked a pair of field goals.

Bede helped Montreal open a 17-0 lead with a 37-yard field goal before Cato tossed a 51-yard touchdown pass to Green at 10:14 of the first quarter.

After the Stampeders went two-and-out on their next drive, Logan returned a Rob Maver punt 74 yards into the Calgary end zone to extend the Alouettes' lead.

Calgary answered back at 1:12 of the second quarter when McDaniel caught a one-yard TD pass from Drew Tate to cap off a four-play, 70-yard drive. Bo Levi Mitchell completed all three of his passes on his drive to three different receivers for 69 yards before giving way to Tate and the short-yardage team.

Following a quick two-and-out by Montreal, McDaniel caught a 30-yard pass from Mitchell, who then tossed a 34-yard strike to Rogers in the end zone two plays later to pull the Stampeders within three points.

After Bede kicked a 23-yard field goal at 12:24 of the third, Paredes responded with a 27-yarder two minutes and 20 seconds later.

Mitchell tossed a 42-yard touchdown pass to McDaniel to put Calgary up 24-20 to start the second half. It capped off the Stampeders second four-play, 70-yard drive of the game.

Paredes missed a 36-yard field goal at 6:18 of the fourth quarter, but still recorded a 47-yard single to put Calgary up five points.

Facing a third-and-two situation on the Stampeders' 23 yard-line late in the game, Montreal wasn't able to convert and Calgary got the ball back due to a turnover on downs.

On the last play of the game, Mitchell threw the ball backwards to Jeff Fuller, who conceded a safety as time ran out on the clock.