In a tight qualifying session that saw the top six drivers spread over just 0.186 seconds but Max Verstappen qualify a season-worst seventh, Norris was a step ahead in a McLaren that held a small but decisive advantage over the field.
Both his Q3 laps were quick enough for pole position, with his fastest time lowering the benchmark to 1 minute 19.327 seconds.
Teammate Oscar Piastri offered him a stern challenge at first, lapping just 0.035 seconds down after his first lap, but the Australian failed to improve with his second attempt, leaving him 0.109 seconds adrift on the front row.
Norris said he was surprised McLaren could lock out the front row in such a competitive qualifying hour.
“Another pole, which is amazing,” he said. “To have first and second when the field has been as tight as it has been all weekend is a little bit of a surprise, but a nice one.
“Well done to the team, they did an amazing job. I’m very, very happy.”
Piastri was disappointed to be unable to keep up his challenge for pole but hoped starting from the inside line on the grid could work in his favour.
“The first lap in Q3 was quite good, just the second one was not quite enough, which I feel like I’ve said a few too many times this year,” he said. “Still, a good performance and a really good team effort.
It’s obviously a long run down to turn 1, so starting second here isn’t always the worst thing.”
Ferrari was in the mix at its home race, with Charles Leclerc leading Carlos Sainz in fourth and fifth ahead of a dejected Lewis Hamilton, who lamented mistakes in the first and last corners left him 0.186 seconds off the pace rather than contending for pole.
But no-one was more disappointed than Verstappen, who slumped to a season-worst seventh in qualifying on an afternoon he admitted he no longer understood the behaviour of his Red Bull Racing car.
Similar to last week in the Netherlands, Verstappen complained that that the RB20 lacked balance, leaving him a stunning 0.695 seconds off pole but only 0.04 seconds faster than eighth-placed teammate Sergio Pérez and 0.277 seconds ahead of the midfield.
Thai driver Alex Albon got the most from his upgraded Williams to qualify ninth in his second straight Q3 appearance, while Nico Hülkenberg will line up 10th for Haas.
Fernando Alonso will line up 11th for Aston Martin ahead of Daniel Ricciardo, who comfortably led the way for RB despite not having received the same upgrades to his car that teammate Yuki Tsunoda was equipped with this weekend.
Kevin Magnussen will start from 13th for Haas ahead of Alpine teammates Pierre Gasly and Esteban Ocon.
Yuki Tsunoda lamented that his upgraded RB was too difficult to drive after being knocked out 16th ahead of Lance Stroll, who equalled his worst qualifying result of the season with 17th for Aston Martin.
Debutant Franco Colapinto, who has replaced the underperforming Logan Sargeant at Williams for the rest of the season, was looking on track for a Q2 berth before botching his final lap running wide over the stones exiting the second Lesmo, leaving him 18th ahead Sauber teammates Valtteri Bottas and Zhou Guanyu at the back of the grid.