The Vancouver Whitecaps continued their strong home form with a dramatic 2-1 win over Real Salt Lake on Saturday.
Though they've struggled on the road, Vancouver have been excellent at home in 2022, taking 11 points from six games prior to the visit of RSL. That record has now been extended to 14 points from seven with just one defeat.
Center-back Ranko Veselinovic kicked things off, reacting to some static Salt Lake defending in the box to fire the Whitecaps ahead on 31 minutes - a lead they took into half-time.
But RSL hit back shortly after the break as Justin Meram made the most of a defensive error from wing-back Ryan Raposo, racing into the box and firing low beyond Cody Cropper, who had just pulled off a heroic save to deny Sergio Cordova moments earlier.
The two sides carved out a couple more chances each but it looked set to be a stalemate. That was until Aaron Herrera mindlessly lunged at Whitecaps sub Luis Martins inside the box, getting nowhere near the ball and earning a second yellow card, while simultaneously handing the hosts a penalty.
Ryan Gauld gladly converted in the 93rd minute, sending Zac MacMath the wrong way to seal three huge points for his team.
Vancouver have climbed above Cascadia rivals Seattle Sounders and Portland Timbers into 10th in the Western Conference with this win and sit just a single point below the MLS Cup Playoff line. RSL, meanwhile, are still riding high in third.
Here are the full player ratings from Saturday's encounter at BC Place:
Vancouver Whitecaps player ratings (3-5-2)
GK: Cody Cropper - 8/10 - The Whitecaps would have been dead and buried in this one if not for the goalkeeping heroics of Cropper, who made a number of stunning saves.
CB: Erik Godoy - 7/10 - A strong defensive performance from Godoy, who was dominant on the ground and in the air.
CB: Ranko Veselinovic - 8/10 - Wasn't overworked defensively but enhanced his growing reputation with the opening goal of the match.
CB: Jake Nerwinski - 8/10 - Provided the long thrown-in that led to Veselinovic's goal and came out on top in most of his defensive duels.
RWB - Ryan Raposo - 3/10 - Had the odd bright moment in attack but made an awful error that allowed Meram to equalize for RSL.
CM: Sebastian Berhalter - 6/10 - Clean on the ball and got through some good defensive work, but was replaced by Ryan Gauld as Sartini tried to inject more creativity.
CM: Florian Jungwirth - 7/10 - Flicked the ball on for the 'Caps opener and battled hard in midfield.
CM: Leonard Owusu - 7/10 - Was alive to loose balls all afternoon and was never afraid to put a challenge in.
LWB: Cristian Gutierrez - 5/10 - Looked livid to be coming off on 71 minutes but in all honesty, Gutierrez didn't offer enough.
ST: Brian White - 4/10 - Looked a little lost and never gave Vancouver the outlet they required.
ST: Deiber Caicedo - 4/10 - Barely tested the RSL defense.
SUB: Ryan Gauld (63' for Berhalter) - 9/10 - Came alive in the final few minutes, setting Luis Martins away to win the late penalty before converting it to give Vancouver a late win.
SUB: Marcus Godinho (71' for Raposo) - 6/10 - Looked a lot more convincing than the man he replaced.
SUB: Luis Martins (71' for Gutierrez) - 7/10 - Won the penalty that gave his side a precious late win.
SUB: Tosaint Rickets (75' for Caicedo) - 6/10 - Energized the Vancouver offense. Found the net but was flagged for offside.
SUB: Caio Alexandre (75' for Owusu) - 5/10 - Steady and unspectacular from the bench.
Real Salt Lake player ratings (4-4-2)
GK: Zac MacMath - 5/10 - Let down by his defense on the Vancouver opener and went the wrong way for the winning penalty.
RB: Aaron Herrera - 3/10 - Caused Vancouver plenty of problems, creating a match-high four chances. Destroyed all his good work with two yellow cards, the latter picked up for a reckless challenge to give away a late penalty. Cost his team a share of the spoils.
CB: Justen Glad - 4/10 - Allowed Veselinovic to get in front of him too easily for the opening goal.
CB: Marcelo Silva - 7/10 - Was strong defensively and will have been frustrated to see his teammates switch off for the opener.
LB: Andrew Brody - 8/10 - Got through a lot of defensive work and still managed to get involved plenty at the other end, too.
RW: Maikel Chang - 5/10 - Only had one small sight of goal and failed to create any chances, but worked hard and was neat and tidy with the ball.
CM: Jasper Loffelsend - 6/10 - Combative in midfield but a little too passive with the ball.
CM: Pablo Ruiz - 8/10 - Constantly looked to get RSL on the front foot with his precision passing. Looked a cut above on the ball.
LW: Justin Meram - 8/10 - Lively throughout and was alert to take advantage of Raposo's mistake for his goal. RSL lost something when he came off.
ST: Sergio Cordova - 4/10 - Was a part of the defensive shambles for the first Vancouver goal and missed a couple of big chances.
ST: Bobby Wood - 5/10 - Showed a few moments of quality with the ball but was kept quiet for the most part.
SUB: Jefferson Savarino (62' for Chang) - 6/10 - Quickly made RSL look more dangerous with an early shot and some forward runs but couldn't inspire a result.
SUB: Anderson Julio (82' for Meram) - 5/10 - Didn't get into the match.
SUB: Diego Luna (88' for Cordova) - N/A - A quick debut for the youngster but not enough time to contribute.