MONTREAL — Defender Will Johnson thought Toronto FC earned its place in the Amway Canadian Championship final.

Despite a scoreless draw against 10-man Montreal in the second leg of the semifinal on Wednesday night, TFC advanced to the tournament final on aggregate after beating the Impact 4-2 in the first leg last week at BMO Field.

"I didn't think they would score unless they got a penalty," said Johnson, who was away last week with the Canadian national team. "We were solid in our shape. We deserved to move on. Over two legs we were the better team."

The Reds will face the Vancouver Whitecaps in the Canadian Championship final in two weeks. The winner of that series will hoist the Voyageurs Cup and compete in the 2017-18 CONCACAF Champions League.

Vancouver edged the Ottawa Fury 3-0 in their second leg later Wednesday to take the semi 3-2.

The Impact never really challenged the visitors on Wednesday, and they could not break through Toronto's firm defensive line when they did. Mauro Biello's men lacked urgency and precision for much of the game, with countless long balls in the final third missing their mark.

"The identity of our team is hard to break down, hard to beat," said Johnson, who was also dealing with a hip flexor injury last week. "We take a lot of pride in the defensive side of the ball. We had a good game plan.

"They didn't have much. It was a chippy game. I thought we were in control and mature."

Johnson was at the centre of controversy when Montreal's Lucas Ontivero was shown a straight red card in the 60th minute.

After being taken down in the penalty box without a call from the referee, a frustrated Ontivero headbutted Johnson on the nose after the two exchanged some words.

"I just told him he went down too easily and he didn't like that," said Johnson. "It was a bang-bang play."

An irate crowd of 18,964 at Saputo Stadium could not hide their displeasure with the referee's decision.

"You can't expect to score two goals and win with 10 men," said Biello. "You need to manage your emotions in those moments. In the end, it wasn't the right thing and it hurt us."

Montreal was down to 10 men for the second game in a row. Captain Patrice Bernier was ejected in the first leg for a dangerous slide tackle on TFC's Daniel Lovitz.

"We just shot ourselves in the foot," said goalkeeper Eric Kronberg of Ontivero's red card. "He knows his mistake. It was unfortunate. You have to forget and move on."

Biello went with a 4-4-2 formation to start the match, with Didier Drogba and Michael Salazar playing at the front.

Striker Sebastian Giovinco, absent in the first leg with an abductor injury, started the game on the bench for TFC. The Italian came into the game in the 74th minute. He finished with two shots on goal.

After a generally slow-moving first half, the Impact picked up the pace in the second half, but Toronto's back four completely shut down Montreal's every advance.

"Our intentions were not to just sit back and defend, but to try to play," said TFC head coach Greg Vanney. "We made sure we had enough defenders to protect our box at the end."

Salazar came close to getting Montreal on the board in the 79th minute, but the 23-year-old failed to connect on Drogba's curled ball into the box.

Notes: Victor Cabrera (calf injury) and Ambroise Oyongo (international duty) were back in the starting lineup for the Impact after missing the first leg. … Montreal kept a clean sheet for the first time in 10 matches dating back to Apr. 9.