Miller played one of the most breathtaking knocks in IPL history and shared an unbelievable unbeaten 130-run stand for the fourth wicket with Rajgopal Satish (27) as the hosts overhauled the imposing 191-run target with 12 balls to spare.
Miller left Bangalore shell shocked as Punjab were struggling at 68 for four in 10 overs and 85 for 4 after 13 and not even the die-hard Punjab fans would have thought of such a result.
But the left-hander surprised one and all with his power-hitting as he struck eight fours and seven sixes. He completed his century and the win with a massive six off Chris Gayle in the last ball of the 18th over.
In last five overs, Punjab scored 99 runs as it rained sixes and fours from the blade of Miller, whose knock was fourth century of the season.
It all started with 14th over when Miler was dropped twice -- first by Gayle and then by Kohli -- and he went on to collect 17 runs from that over bowled by Vinay Kumar. Miller was on 41 at that time.
RP Singh and Bangalore were in for a rude shock as Miller went hammer and tongs, creaming the paceman for two fours and three sixes, taking 26 runs from that over.
Those two overs changed the whole complexion of the match.
Earlier, Chris Gayle tormented the Punjab bowlers with a stroke-filled 61 and Cheteshwar Pujara entered the season with a superb 51-run knock as Bangalore scored an imposing 190 for three after invited to bat.
Pujara, playing his first match of the season after recovering from a hand injury, and Gayle shared a 102-run stand for the first wicket.
Gayle took just 33 balls for his knock, laced with six fours and three sixes, while Pujara scored 51 off 48 balls and helped himself with eight shots to the fence.
AB de Villers came up with a 38-run cameo off just 19 balls towards the end to propel Bangalore to a huge score.
Punjab`s chase depended much on how Shaun Marsh (6) performed but he perished early along with the other opener Mandeep Singh (16). Marsh was caught at covers by de Villiers off Ravi Rampaul while Vinay Kumar had Singh caught behind.
Punjab innings never got the going as they buckled under the pressure of chasing a mammoth target. Spinner Murali Kartik added to their misery by trapping Gurkeerat Singh (20), leaving the hosts struggling at 51 for three.
Kartik returned and saw the back of rival captain David Hussey (13) and with that whatever little hopes Punjab had in making a comeback, ended.
However, sensational power-hitting by David Miller brought Punjab back in the match from nowhere.
Earlier, leg-spinner Piyush Chawla was the best Punjab bowler to watch as he bowled a probing line and varied his pace superbly to trouble the batsmen. He did not get a wicket but conceded just 26 runs in his four overs.
Manpreet Gony dismissed bowled both Gayle and Pujara and the visitors lost skipper Virat Kohli (14) cheaply after that but de Villiers ensured that the good start does not go waste as he blasted his way to 38 with four fours and two sixes.
He collected 21 runs off the final over, bowled by debutant Michael Neser along with Moises Henriques.
A tentative Pujara was slow off the blocks but the marauding West Indian was his usual aggressive self. He hit gigantic sixes off Neser, as the two openers reeled off 18 runs from South African paceman`s first over.
As if the Gayle bashing was not enough, Pujara too got into the act, scoring a hat-trick of boundaries off Gony in the next over as Bangalore raced to 58 for none in six overs.
Even Gayle`s mis-hits were kissing the boundary ropes as he raced to his half-century in 27 balls.
Gony returned and was hoicked for a six by Gayle but he had his revenge when he uprooted Gayle`s stumps in the next ball. That wicket did affect the run-rate even as skipper Kohli and Pujara took the side to 133 for one in 15 overs.
Gony returned and bowled Pujara, when he dragged one back on the stumps. Pravinder Awana got rid of Kohli, who miscued a pull on a rising ball.