Sergio Perez won the Saudi Arabian Grand Prix from pole position in a Red Bull one-two on Sunday with Max Verstappen staying top of the championship after racing from 15th to second with the fastest lap.
Double Formula One world champion Verstappen snatched the bonus point from Perez with a last-lap blast around Jeddah's floodlit Corniche street circuit that left him a point clear of the Mexican.
The result was Red Bull's second one-two in as many races this season but a reverse of the March 5 opener in Bahrain.
Perez had also started on pole last year before ending up fourth after an unfortunate safety car, but this time he made it stick despite another such intervention.
"That safety car again tried to take the victory away from us in Jeddah but not this time," he said.
"I was on for victory last year so finally I got it," added the Mexican, who now has five career wins and finished 5.355 seconds clear despite the safety car cutting his early advantage.
Verstappen now has 44 points, Perez 43 and Aston Martin's Fernando Alonso 30.
Red Bull have 87 points in the constructors' standings with Aston Martin and Mercedes level on 38.
Alonso was third at the chequered flag in a 100th career podium for the 41-year-old double world champion, but the Spaniard was given a 10-second penalty after the podium celebrations and dropped to fourth.
He was then reinstated hours after the race had ended following a stewards' review of new evidence presented by the team.
"I am happy in the end with the result tonight and our second podium. We showed that we can be the second fastest team and we had good pace throughout the race," Alonso said in a team statement.
The reversal meant Mercedes's George Russell went from fourth to the podium and back to fourth again.
His seven-times world champion team mate Lewis Hamilton finished fifth and Ferrari's Carlos Sainz was sixth.
Ferrari's Charles Leclerc was seventh with the Alpine pair of Esteban Ocon and Pierre Gasly eighth and ninth and Kevin Magnussen taking the final point for Haas.
Alonso made a great getaway to pass Perez into the first corner and lead a race for the first time since 2012, when he was at Ferrari, but any joy was short-lived as the stewards investigated an incorrect start position.
Television replays showed the Spaniard had lined up too far to the left on the front row and he was given a five-second penalty.
He accepted that had been his fault and took the penalty on lap 19 after the safety car, triggered by Canadian team mate Lance Stroll stopping on track, was deployed.
The stewards then investigated whether Alonso had taken the five-second penalty correctly and imposed a further 10-second post-race sanction before accepting it was a grey area and performing a U-turn.
It took Perez four laps to take charge with the Mexican meeting no resistance as he swept past for the lead, but he could not relax.
Verstappen, who suffered a drive-shaft failure in qualifying, was up to 11th after five laps and on lap 12 passed Hamilton for eighth.
When the safety car period ended on lap 20, Verstappen was pushing Russell for third and took the place three laps later.
Verstappen went second, 5.6 seconds behind Perez, at the half-distance but the gap stayed constant with the Red Bulls in a race of their own.
There was a moment of concern on the pit wall as Verstappen reported a "weird noise at high speed" with some 13 laps remaining.
"I feel like the drive-shaft is running a bit rough," he told his race engineer.
"It was right through to the finish," he explained later. "I was second and had a big gap behind so we decided to call it a day and settle for second, which was quite a good recovery."
McLaren had another tough weekend and are yet to score.
Australian rookie Oscar Piastri pitted for a new front wing after a first-lap contact with Gasly's Alpine and Lando Norris followed him in soon after with damage. Piastri finished 15th and Norris 17th.