Damir Kreilach opened the scoring in the 14th minute, beating a defender to body down an Albert Rusnak cross before smashing home the opener.
Sebastian Saucedo doubled the lead in the 28th minute with an absolute beauty of a goal, dribbling across the top of the box before curling a shot past the goalkeeper from well outside the area. It was almost certainly a top-five goal at Rio Tinto Stadium.
Saucedo nearly had a second around the 57th minute, pinging his shot off the far post.
The third came moments later, when Jefferson Savarino found himself free in the area from a Saucedo pass, beat a defender, then chipped the goalkeeper from close range.
With replays still running, RSL retrieved a stray play from Toronto, picked up the ball, and Sauceso burst down the wing. He was subsequently fouled by Alejandro Pozuelo, who was immediately sent off for a second yellow.
From there, the match largely devolved into a back and forth, with Toronto committing numbers forward but struggling to create good chances, and RSL mostly moving the ball around the midfield.
Sam Johnson was relegated to the bench, having been late to a team meeting earlier in the day.