Verstappen posted a 1m41.829s on the ultrasoft Pirelli tyres to finish 0.072 seconds clear of Vettel with Lewis Hamilton 0.142s off the pace in third.
It was Vettel's fourth pole position in Singapore - but he had to work for it, and admitted over the team radio that he had "touched the wall badly".
"Yesterday was hard, this afternoon was hard but tonight the vehicle just came alive", said Vettel, who looked surprised by his own performance. "I'm happy we got the auto where it deserved to be and we'll take it from there".
"Since yesterday, we - well at least myself - was nowhere near to the Red Bull; today, without some mistakes, we could have [both] been ahead of them".
"We knew that today would be tough", he said. Perhaps there was a bit of time in the last sector to find but in general I am very pleased with how the auto and I performed. "How good it'll be, however, we'll find out (this weekend)". Don't know where it (lap) came from.
But the Milton Keynes-based outfit, who could have locked out the front row for the first time since the United States Grand Prix in 2013, were denied by a sensational one minute, 39.491 second lap by Ferrari's Sebastian Vettel.
But Vettel said there had been little between Ferrari and Mercedes on tracks of all different types this year. "I threw the sink at it and squeezed every bit of it".
"I'm sure there's reason behind it and, obviously, faith they're going to get better - and there's probably some proof in the pudding somewhere - but for sure they'll need to show up next year".
"Looking forward to what we can do tomorrow, I think it's really on the cusp of one or two stop so it's going to make it exciting".
"It's generally been close everywhere we go, even when it's "this one will suit Mercedes", or "this one will suit Ferrari". I thought Red Bull would be as quick as they were.
Ferrari's downforce is a key weapon at the 23-corner street circuit, whose lack of long straights traditionally nullifies Mercedes' high-speed advantage and puts overtaking at a premium. But there is the start which can be exciting and safety cars do often come in to play here, too.
After making his debut aged 17, Verstappen became F1's youngest race victor last year and is the youngest driver to start on the front row of the grid, lining up P2 at Spa last year.