Shea Salinas opened the scoring in the 15th minute, scoring from a run through the center of the 6-yard box to finish Espinoza's cross.
The Earthquakes (1-4-0) led 2-0 in the 33rd minute when Danny Hoesen pounced on a loosed ball on the left side of the 6-yard box and poked it into the roof of the net.
Espinoza capped the scoring a minute later, stealing a misplayed pass, taking it 30 yards and slotting a low finish past the goalkeeper.
San Jose snapped a five-game losing streak that stretched back into last season.
The Timbers (0-4-1) lost their fourth in a row.