Red Bull's four-time world champion Max Verstappen finished second, after starting from pole position at Jeddah's Corniche circuit, with Charles Leclerc third for Ferrari's first podium of the campaign. Norris was fourth.
Victory made Piastri, triumphant in Bahrain last weekend and in China last month, the first Australian to lead the championship since his manager Mark Webber in 2010 and also the first back-to-back winner this season.
Norris, who had led by three points before the race and is now 10 behind Piastri, started in 10th place after crashing in qualifying.
Piastri has 99 points to Norris's 89 and Verstappen's 87. Champions McLaren stretched their lead over Mercedes in the constructors' standings to 77 points.
"It was a pretty tough race. I’m very, very happy to have won. Made the difference at the start. Made my case into Turn One, and that was enough," said the happy winner.
"Definitely one of the toughest races I've had in my career," he added after 50 laps in 30-degree temperatures around a super-fast track.
George Russell was fifth for Mercedes with Italian teammate Kimi Antonelli sixth and seven-times world champion Lewis Hamilton seventh for Ferrari.
Williams had Carlos Sainz and Alex Albon eighth and ninth with Racing Bulls' French rookie Isack Hadjar the final points scorer in 10th.
First corner controversy
There was immediate controversy at the start as Verstappen and Piastri went side-by-side into the first corner, with the Red Bull emerging ahead after cutting across the runoff.
"He needs to give that back, I was ahead," Piastri told McLaren over the team radio. "He was never going to make that corner regardless of whether he was there or not."
Verstappen gave his version in similar fashion to Red Bull: "He just forced me off, there was no intention of him to make that corner."
Stewards decided the champion was at fault and handed him the penalty, with Verstappen reacting by saying sarcastically "Oh, that is lovely'.
Red Bull boss Christian Horner did not let it lie after the chequered flag either, complimenting Verstappen and adding: "That first corner we've all got our opinions on".
The safety car continued a sequence of appearing at all five races in Saudi Arabia so far with an appearance at the end of the opening lap after Verstappen's teammate Yuki Tsunoda and Alpine's Pierre Gasly collided and crashed.
Both drivers retired, Tsunoda after getting his car back to the pits.