TORONTO (AP) — Jozy Altidore scored in the 60th minute and Toronto FC advanced to the MLS Cup final for the second straight year with a 1-0 victory over the Columbus Crew on Wednesday night in Game 2 of the Eastern Conference final.

Toronto will host the Seattle Sounders or Houston Dynamo in the Dec. 9 MLS Cup final. The Sounders, who took the title from Toronto in a penalty shootout last year, lead the Western Conference final 2-0 going into Game 2 in Seattle on Thursday night.

After a scoreless tie in Game 1 last week in Ohio, Columbus needed a win or draw with goals to advance. But Altidore, limping on a bum ankle, came through for Toronto before a sellout crowd of 30,392 on a crisp night at BMO Field.

"I couldn't really move, I was hobbling around," Altidore said. "It's tough too in these conditions too when you get a knock like that, it's so cold, it's a little bit worse. I wanted to give a little bit of time for whoever was up next, and if a chance came down to it, I wanted it to fall to me. And it did."

The goal started with Alex Bono's goal kick that found Sebastian Giovinco deep in Columbus territory. The diminutive Italian held off several defenders and backheeled the ball to Altidore, who stabbed it to Victor Vazquez. The Spanish midfielder paused and then dinked a pass to Altidore for a right-footed shot past Zack Steffen.

"That's heart," goalkeeper Alex Bono said "That's all that is. That's heart."

It was Toronto's first goal in 258 minutes. The last score came almost a month ago — on Oct. 30, via Giovinco's free kick in the 72nd minute of a 2-1 victory at Red Bull Arena.

Columbus striker Ola Kamara nearly tied it in the 87th minute, but couldn't get a boot to the ball on a raking cross. Bono then beat Kamara to a cross in stoppage time.

"We were inches away from scoring the tying goal, we gave up one chance, they score," Columbus coach Gregg Berhalter said. "Zack makes a huge play on the penalty. It's a game of inches. We play all year for inches. Ball doesn't go under Ola's foot, we score. And we're singing a different tune now."

Altidore had seemed destined for an early night after suffering an ankle injury in the 50th minute in a collision with Crew wingback Harrison Afful. The big man needed treatment on and off the field and Toronto prepared to send in substitute Armando Cooper.

But Altidore stayed on, finally limping off eight minutes after the goal.