As clouds blocked out the sun, resulting in the coolest conditions of the weekend with the temperature just 26'C, the 27-lap Jerez MotoGP got underway with pole-sitter Lorenzo into the lead as he claimed the whole shot and led throughout the opening lap.
Marquez, riding with a broken finger on his left hand that forced him to take painkillers before the race, slotted into second ahead of Pol Espargaro, Valentino Rossi, Aleix Espargaro and Cal Crutchlow.
Andrea Iannone was the big loser as he slipped from third on the grid to P11 having made a dismal start. His Ducati team-mate Andrea Dovizioso also had a disastrous opening stint as a mistake at the final corner of the second lap saw him fall to the very back.
With the Spanish champions of Lorenzo and Marquez pulling away from the pack, Rossi made his move on Pol Espargaro to slot into third at the start of lap four. But, two seconds behind the leading duo, he had his work cut out for him.
Rossi was unable to make any significant inroads in the opening half of the race while Marquez also began to get dropped by Lorenzo as the Yamaha rider showed his master-class of the Jerez circuit.
Halfway through the race, the #99 had an advantage of more than three seconds over Marquez, whose P2 was looking under threat from the fast-approaching Rossi.
The reigning World Champion, though, pegged him back and for every lap Rossi drew him in, he responded by pulling away – but never quite as much as Rossi had closed in. With ten laps remaining, the duo were separated by 1.9s. A lap later that was 1.7s and a lap after that it was down to 1.4s.
Again Marquez found the pace, and courage given his injury, to halt Rossi's charge with the gap roughly 1.5s for several laps. He then went on to extend it to over two seconds.
Back at the front, Lorenzo rode a lonely race to the chequered flag, claiming his first win of this season, the much-needed 25 points and his fifth win in all classes at the Spanish track.
Marquez was second, 5.576 down, while Rossi completed the podium to retain the lead in the riders' standings. It was Rossi's 200th championship podium.
Crutchlow brought his LCR Honda home in fourth place, beating former team Monster Yamaha Tech 3 who had Pol Espargaro in fifth.
Iannone recovered to finish sixth while Aleix Espargaro, whose Suzuki team opted to use the softer option rear tyre whereas the rest of the field went with the medium, was seventh.
Bradley Smith finished eighth ahead of Dovizioso, who like his team-mate made a great recovery, while Yonny Hernandes won a thrilling five-rider tussle to complete the top ten.
Karel Abraham was an early crasher while Loriz Baz added his name to the list on lap 10 when he went down at the final corner.
Hiroshi Aoyama, the Honda test driver who has been filling in for the injured Dani Pedrosa, joined the duo on the sidelines when he crash at Turn 5 on lap 16.
1 Jorge LORENZO Movistar Yamaha MotoGP 44'57.246
2 Marc MARQUEZ Repsol Honda Team 5.576
3 Valentino ROSSI Movistar Yamaha MotoGP 11.586
4 Cal CRUTCHLOW CWM LCR Honda 22.727
5 Pol ESPARGARO Monster Yamaha Tech 3 26.620
6 Andrea IANNONE Ducati Team 27.021
7 Aleix ESPARGARO Team SUZUKI ECSTAR 35.445
8 Bradley SMITH Monster Yamaha Tech 3 36.296
9 Andrea DOVIZIOSO Ducati Team 41.933
10 Yonny HERNANDEZ Pramac Racing 51.072
11 Maverick VIÑALES Team SUZUKI ECSTAR 51.674
12 Danilo PETRUCCI Pramac Racing 52.421
13 Scott REDDING EG 0,0 Marc VDS 53.052
14 Hector BARBERA Avintia Racing 53.200
15 Alvaro BAUTISTA Aprilia Racing Team Gresini 57.344
16 Stefan BRADL Athinà Forward Racing 59.018
17 Nicky HAYDEN Aspar MotoGP Team 1'01.506
18 Eugene LAVERTY Aspar MotoGP Team 1'03.163
19 Marco MELANDRI Aprilia Racing Team Gresini 1'06.895
20 Jack MILLER CWM LCR Honda 1'14.182
21 Alex DE ANGELIS Octo IodaRacing Team ART 1'26.832
22 Mike DI MEGLIO Avintia Racing 1 Lap
Hiroshi AOYAMA Repsol Honda Team 13 Laps
Loris BAZ Athinà Forward Racing 19 Laps
Karel ABRAHAM AB Motoracing 24 Laps