- MLS on ESPN+: Stream LIVE games, replays (U.S. only)
- Don't have ESPN? Get instant access
After a scoreless first half, both teams turned up the tempo.
Cavallini opened the scoring in the 52nd minute, after a give-and-go with Raposo just outside the top of the penalty area. Cavallini's low shot from 16 yards out snuck just inside the right post.
Cavallini nearly doubled the lead 10 minutes later on a three-on-two break, but San Jose goalkeeper JT Marcinkowski charged off his line to smother the shot from 15 yards out.
The Earthquakes went straight down the field to tie it. Monteiro got between defenders at the top of the 6-yard box and headed a cross from the right wing into the far side of the net.
Ebobisse scored his first in the 73rd minute, redirecting Cade Cowell's pass into the far side netting.
The Whitecaps tied it two minutes later, as Raposo took a pass from Deiber Caicedo and blasted a shot from the top right of the 6-yard box just inside the right post.
Ebobisse gave the Earthquakes a 3-2 lead in the 81st minute on a header from the top of the six-yard box off a cross from Cristian Espinoza.
Cavallini had two other quality chances in the second half, but Marcinkowski saved both. He made four stops.