Tina Thompson added 17 points as the Storm (12-13) outscored the Sparks 14-4 in the fourth quarter.
Nneka Ogwumike had a team-high 12 points for the Sparks (18-8), who snapped a six-game winning streak and finished with a season-low scoring total. Alana Beard and Lindsey Harding scored 10 points each for the Sparks, and Candace Parker finished with nine points and 10 rebounds.
Seattle lost starting forward Shekinna Stricklen to an Achilles injury midway through the second quarter.
Los Angeles scored just 20 points in the second half while shooting just 29 percent from the field. For the game, the Sparks shot 23 of 61 (38 percent).
The Storm overcame 17 turnovers to win back-to-back games for only the fourth time this season. Seattle's longest winning streak is three games.
The 5-foot-3 Johnson led a 9-0 run early in the fourth quarter to help Seattle pull away.
The Storm used 57-percent shooting in the first half to take a 51-37 lead. Two second-quarter runs of six or more points helped turn a two-point lead after the first period into a 14-point advantage at halftime.
Stricklen scored seven of her nine points during the opening 3:05 of the second quarter, but was forced out of the game with 6:12 remaining in the period.
Without Stricklen, the Storm were able to withstand an Los Angeles' 8-0 spurt and seven turnovers in the third quarter alone.
Seattle, which has a 5-8 record against teams below the .500 mark, improved to 7-5 in games against teams currently sporting winning records.