Clint Bowyer finished second, followed by Brad Keselowski, Denny Hamlin and Kyle Busch rounding out the top five.
Neither Stage winner was able to finish in the top five as Stage 1 winner Martin Truex Jr. day ended his day on Lap 86. Johnson finished 13th.
MORE: NASCAR at Michigan results
Sporting News will provide updates for the Toyota/Save Mart 350 throughout the race. Stay up to date on the latest news below.
Toyota/Save Mart 350 live updates, results
6:13 p.m. Harvick wins for his first time at Sonoma.
6:08 p.m.ET: One lap down signals the white flag.
6:04 p.m.ET: Three laps left and Harvick holds a 8.75 second lead.
6:01 p.m.ET: A close call but no yellow.
5:57 p.m.ET: 11 laps to the finish.
5:53 p.m.ET: Harvick in the lead with a dozen laps left.
5:46 p.m. ET: Sounds like a lot of drivers are waiting on a caution flag that has yet to come.
5:39 p.m.ET: Despite leading for a race high 25 laps, Truex Jr’s day is over after his hood pops up exiting pit road.
5:30 p.m.ET: Truex Jr. moves into third and only 27 laps remain.
5:22 p.m.ET: Brad Keselowski in the lead with 32 laps to go.
5:18 p.m. ET: 40 laps to the finish.
5:12 p.m.ET: Truex Jr. takes the lead with 42 laps left.
5:05 p.m.ET: Truex Jr. has led the most laps and creeping up on the lead as he is .14 seconds behind first.
4:56 p.m.ET: Denny Hamlin takes the lead with 51 laps remaining.
4:50 p.m. ET: Interesting stat on Johnson here.
4:42 p.m. ET: Johnson holds on and wins Stage 2.
4:30 p.m. ET: Jimmie Johnson slides into the lead with nine laps remaining in Stage 2.
4:22 p.m. ET: Caution flag out on lap 49 with Truex Jr. in the lead.
4:14 p.m. ET: Getting to the bottom of that last caution flag.
4:09 p.m. ET: Second caution flag of the day is out.
4:00 p.m. ET: It is official.
3:57 p.m. ET: Truex Jr. takes the lead and looks like he should hold on for the Stage 1 win.
3:53 p.m. ET: AJ Allmendinger currently in the lead with three laps remaining in Stage 1.
3:48 p.m. ET: Just eight laps remain in Stgae 1 and Chris Buescher takes the lead.
3:40 p.m. ET: First caution of the day with 11 laps to go in Stage 1.
3:36 p.m. ET: Truex takes the lead.
3:30 p.m. ET: 20 laps remain in Stage 1. Larso in the lead with Martin Truex Jr. less than a second behind.
3:22 p.m. ET: And we are underway.
3:10 p.m. ET: About 10 minutes away from race time it looks like.
2:50 p.m. ET: A beautiful red, white and blue flyover ahead of the race.
Toyota/Save Mart 350 starting lineup
- Kyle Larson 2. Jamie McMurray 3. Martin Truex Jr. 4. Kyle Busch 5. AJ Allmendinger 6. Danica Patrick 7. Ryan Blaney 8. Chase Elliott 9. Chris Buescher 10. Dale Earnhardt Jr. 11. Daniel Suarez 12. Kevin Harvick 13. Clint Bowyer 14. Denny Hamlin 15. Paul Menard 16. Michael McDowell 17. Kurt Busch 18. Joey Logano 19. Austin Dillon 20. Ryan Newman 21. Kasey Kahne 22. Ricky Stenhouse Jr. 23. Brad Keselowski 24. Jimmie Johnson 25. Trevor Bayne 26. Billy Johnson 27. Matt DiBenedetto 28. David Ragan 29. Cole Whitt 30. Erik Jones 31. Landon Cassill 32. Alon Day 33. Josh Bilicki 34. Boris Said 35. Ty Dillon 36. Kevin O’Connell 37. Tommy Regan 38. Matt Kenseth