Anne-Marie Sorvin-USA TODAY Sports

Lucas Cavallini's goal in second-half stoppage time gave the Vancouver Whitecaps a dramatic 2-1 win over the visiting Houston Dynamo on Friday.

The Whitecaps (8-10-6, 30 points) trailed 1-0 until the 88th minute, when substitute Simon Becher equalized in his MLS debut. That set the stage for Cavallini to create even more late-game magic for Vancouver two minutes into added time.

Following a corner kick, Ranko Veselinovic kept possession for Vancouver and found an open Cavallini in the box. The striker connected for his eighth goal of the season and a pivotal three points for his team.

Late goals have become a habit for the Whitecaps this season. Vancouver has scored 10 goals in the last 15 minutes of games this season, with eight of those tallies clinching either a win or a draw.

Vancouver won for the first time in six games (1-2-3), but the team is now only two points behind the Seattle Sounders for the final Western Conference playoff spot.

The heartbreaking loss put Houston (7-13-4, 25 points) even further behind in the playoff race. The Dynamo are on a three-game losing streak, and they remain in 12th place in the West.

Fafa Picault gave Houston the early lead just six minutes into the game. Replays were inconclusive as to whether the forward actually touched a Samuel Junqua chip pass, but Picault's close-range presence was enough to freeze goalkeeper Cody Cropper in place as the ball crossed the line.

The Whitecaps were missing six players due to health and safety protocols, resulting in some inexperienced names added to the substitute list. That included Becher, a 23-year-old forward who was the 16th overall pick of the 2022 MLS SuperDraft.

Becher entered the game in the 82nd minute, and it took him only six minutes to open his scoring account. The play was set up by another MLS rookie, Ali Ahmed, with Becher capitalizing on a rebound.

Cavallini played 33 minutes as a substitute, returning after missing Vancouver's last game due a quad injury. However, Cavallini also received a yellow card, and will miss the Whitecaps' next game (Aug. 13 at the Los Angeles Galaxy) due to caution accumulation.

More must-reads:

TODAY'S BEST
Historic NCAA settlement reached allowing schools to pay players
Celtics dominate Pacers in Game 2, take 2-0 ECF lead
Cavaliers fire head coach J.B. Bickerstaff
Connor McDavid's 2OT goal gives Oilers win over Stars in Game 1
Rob Manfred hints at big change coming to MLB
Scottie Scheffler arrest case takes another weird turn with new video
QB Russell Wilson believes Steelers can 'do something special'
Pacers star suffers injury in ugly Game 2 loss
Watch: Jaylen Brown's big second quarter lifts Celtics to halftime lead
Broncos HC Sean Payton raves about one QB's progress at OTAs
North Carolina basketball snags instant-impact player via transfer portal
Rams GM shares details about Stetson Bennett’s absence
Perpetual Bulls trade candidate once more hitting the rumor mill
MLB announces host venues for 2026 World Baseball Classic
Knicks marquee trade acquisition could bolt in free agency
Pistons make decision on new president of basketball operations
ESPN and longtime NFL reporter are parting ways
If Lions HC Dan Campbell's assessment of WR is accurate it could mean trouble for opponents
NBA closes investigation into embattled Thunder guard
NFL reporter predicts Cowboys' plan for QB Dak Prescott