Dwyer's goal was the first by a forward in 564 minutes for Sporting (1-1-1), a streak dating to last year's Eastern Conference semifinals.
San Jose (0-1-1) managed just one shot on goal and Kansas City keeper Eric Kronberg recorded his first shutout of the year. In its first two league games, Sporting had conceded a goal in the 89th minute or later.
Dwyer's winner came after Steven Lenhart was called for using his hand to swat at the ball in San Jose's penalty area. Jon Busch went to his left, but Dwyer put his low shot behind the goalkeeper.
Both teams were coming off defeats in Mexico on Wednesday in the quarterfinals of the CONCACAF Champions League. Sporting was eliminated after a 5-1 loss to Cruz Azul and San Jose was ousted after falling to Toluca on penalties following a 1-1 draw.