Raikkonen made his final run count by logging the fastest ever lap in Formula 1 history as his 1:19.119s effort at an average speed of 164 mph (264 km/h) snatched pole from Vettel.
Vettel initially thought he had taken pole but Raikkonen who was directly behind him on the road took advantage of a tow to pip the German by 0.161s.
Upon learning he'd missed out on pole, the four-time champion issued a curt ‘we will speak after' response on team radio.
Asked about his radio message and possible team orders for the race, he said: “No, I don't think anything related to that. Clearly I wasn't happy but I don't tell you why.”
It proved to be a grandstand finish to qualifying as Hamilton held provisional pole after the first runs in Q3.
The championship leader improved on his time in his final flyer but it wasn't enough to deny Ferrari its first front row lock out at Monza since 2000.
Hamilton will share the second row with team-mate Valtteri Bottas, who was unable to challenge he top three.
Red Bull's Max Verstappen ended up fifth while opposite number Daniel Ricciardo will start from the final row of the grid due to a penalty incurred for an engine change.
The Australian progressed to Q2 but elected not to set a time in that segment of qualifying to allow himself a choice of tyre compounds to use for the start of the race.
“It was good we had some pace finally,” said Ricciardo.
“In the morning we were not quick and the car felt alright but we were just not fast.
“We made some changes into qualifying and I'm happier we have got a more sensible race car.”
Haas F1's Romain Grosjean secured a spot on third row in sixth ahead of Renault's Carlos Sainz and Racing Point Force India's Esteban Ocon.
Stewards were called to investigate an incident during Q2 when Kevin Magnussen (Haas F1) and Fernando Alonso (McLaren) appeared to impede each other at Turn 1.
“Magnussen wanted to race into Turn 1,” said Alonso on the radio to his team.
However, the Haas F1 driver was not impressed asking the Haas pitwall: “What the hell was Fernando doing?”
The pair will start the race from 11th and 13th respectively.
Sergio Perez was a high profile casualty in Q1 as he narrowly missed out on a place in Q2.
However, grid penalties for Marcus Ericsson, who ran a rebuilt Sauber after his Friday practice crash, Ricciardo and Nico Hulkenberg (Renault) will see Perez start from 14th on the grid.
Ericsson will line up in 18th ahead of Ricciardo and Hulkenberg who will share the final row.
The Italian Grand Prix is scheduled to begin on Sunday at 2310 AEST.
Results: Formula 1 Italian Grand Prix Qualifying