Jorge Lorenzo's resurgence continued as the Spaniard dominated to take victory in Catalunya ahead of team-mate Valentino Rossi. The result sees the gap at the top of the championship close to just one point, with Rossi still leading the way.
Dani Pedrosa crossed the line third to complete the podium.
Marc Marquez was the only rider to come close to Lorenzo, but the factory Honda rider ran wide and fell in the gravel trap early in the race after nearly hitting Lorenzo. Other fallers included Andrea Dovizioso and Cal Crutchlow. Pole sitter Aleix Espargaro also crashed out, along with his brother Pol Espargaro onboard the Tech3 Yamaha.
Andrea Iannone was the highest placed Ducati, finishing in fourth ahead of Britain's Bradley Smith. Marc VDS Honda rider Scott Redding equalled his best ever finish, crossing the line in seventh place, behind Suzuki rookie Maverick Vinales.
1. Jorge Lorenzo ESP Movistar Yamaha MotoGP (YZR-M1) 42m 53.208s
2. Valentino Rossi ITA Movistar Yamaha MotoGP (YZR-M1) 42m 54.093s
3. Dani Pedrosa ESP Repsol Honda Team (RC213V) 43m 12.663s
4. Andrea Iannone ITA Ducati Team (Desmosedici GP15) 43m 18.133s
5. Bradley Smith GBR Monster Yamaha Tech 3 (YZR-M1) 43m 20.990s
6. Maverick Viñales ESP Team Suzuki Ecstar (GSX-RR)* 43m 22.767s
7. Scott Redding GBR Estrella Galicia 0,0 Marc VDS (RC213V) 43m 29.632s
8. Stefan Bradl GER Athina Forward Racing (Forward Yamaha) 43m 35.311s
9. Danilo Petrucci ITA Octo Pramac Racing (Desmosedici GP14.1) 43m 42.558s
10. Alvaro Bautista ESP Factory Aprilia Gresini (RS-GP) 43m 45.777s
11. Jack Miller AUS CWM LCR Honda (RC213V-RS)* 43m 46.874s
12. Eugene Laverty IRL Aspar MotoGP Team (RC213V-RS)* 43m 48.973s
13. Loris Baz FRA Athina Forward Racing (Forward Yamaha)* 43m 49.040s
14. Mike Di Meglio FRA Avintia Racing (Desmosedici GP14 Open) 44m 2.245s
15. Alex De Angelis RSM E-Motion IodaRacing (ART) 44m 18.471s
16. Hector Barbera ESP Avintia Racing (Desmosedici GP14 Open) +1 lap