TORONTO -- Tosaint Ricketts was the hero for the second game in a row, heading in the go-ahead goal in a 3-2 victory Saturday over expansion Minnesota United that extended Toronto FC's franchise-record win streak to six.

Toronto (7-1-4) had to win the hard way, dealing with injuries to Sebastian Giovinco and Nick Hagglund during the game while Jason Hernandez was struck down with illness.

The injuries -- and a second-half pushback from Minnesota -- made for a wide-open final 45 minutes that produced four goals before 27,249 fans at BMO Field.

Jozy Altidore set the stage for the 77th-minute winning goal with a determined run down the left flank, beating several defenders before sending in the cross that found Ricketts' head.

Ricketts, coming off the bench, scored both goals in a 2-1 comeback midweek win in Columbus.

Giovinco, returning from a heel injury, scored from the penalty spot in the 20th minute for his sixth of the season. The Italian exited in the 44th minute as precautionary measure after feeling tightness in his quad. He was replaced by Altidore.

Kevin Molino scored for Minnesota in the 52nd minute only to see Toronto pull back into the lead on a Christian Ramirez own goal two minutes later.

Molino tied it up in the 62nd minute, tapping in a rebound after Alex Bono saved his penalty.

Hernandez was replaced by Eriq Zavaleta at halftime after feeling ill. Fellow defender Hagglund hobbled off in the second half with what looked to be a leg injury.

Toronto was playing with 10 men when Minnesota tied it at 2-2 with Hagglund off. Victor Vazquez eventually came on in the 65th minute to bring the numbers back up.

Giovinco's penalty was the only shot on target for both teams in the first half.

Finishing off a stretch of five games in 15 days, Toronto coach Greg Vanney continued his recent squad rotation. Altidore was rested, giving Ricketts the start.

Vanney had five of his starters from the 2016 MLS Cup final on the bench as well as Vazquez, who leads the league in assists. He would need them as the game unfolded.

Toronto failed to convert ties into wins in four of its first five outings this season but has been perfect since a 2-1 loss in Columbus on April 15.

After a dreadful start (0-3-1) that saw the team leak 18 goals, Minnesota arrived on the back of a 2-0 win over Sporting Kansas City and having lost just once in its last four games (2-1-1).

The Loons (3-6-2) are 0-4-2 on the road.

Toronto had most of the early possession but it did not translate into scoring chances. That changed when a Benoit Cheyrou ball found Raheem Edwards streaking into the penalty box. Ghanaian forward Abu Danladi bundled him down and Giovinco's penalty found the centre of the goal in the 21st minute.

Giovinco's go-to penalty is to the goalkeeper's right but he switched it up after seeing Nick Rimando save his spot kick in the season opener.

Danladi, the first overall pick in the 2017 MLS SuperDraft, had a chance to redeem himself in the 27th minute but fired the ball wide. Toronto fans inhaled in the 41st when Michael Bradley's back pass was short but 'keeper Alex Bono got to it before Ramirez.

Bono made a world-class save in first-half stoppage time, clawing a Miguel Ibarra shot from the edge of the penalty box over the bar.

A sliding Ricketts just missed connecting with the ball after a Hagglund header off a free kick went low to the far post in the 50th minute.

Minnesota pulled even on a fierce right-footed shot by Molino that left Bono rooted to the spot. But the tie was short-lived after a Bradley free kick deflected in off Ramirez at the far post after the striker was wrestling with Chris Mavinga at the far post.

Edwards was penalized for handball off a corner, prompting the Molino penalty in the 62nd minute.

In the 75th, an Altidore shot seemed destined for goal but was blocked by a defender and Bradley then fired the rebound high.