The left-hander, who defied a back injury to hit a match-winning 138 not out in the first game in Rajkot last week, smashed 118 off 122 balls as India piled up 292-9 after a shaky start of 29-3.
Yuvraj then broke England's back with his left-arm spin as the tourists folded for 238 in 47 overs to concede a 2-0 lead in the seven-match series.
"I have worked hard on both my batting and bowling over the last few months and that has started to pay off. I just want it to continue like this," said Yuvraj.
"It was not an easy wicket to bat on and when I walked in at 29-3, I realised I had to spend some time at the crease," he said.
Owais Shah (58) and Matt Prior put on 96 for England's second wicket after Ian Bell was run out in the first over, before Yuvraj removed both batsmen in consecutive overs.
England skipper Kevin Pietersen and Andrew Flintoff hit 74 off 69 balls for the fourth wicket to revive the tourists' hopes, but Yuvraj stepped in to dismiss the pair in his final over.
Yuvraj trapped Flintoff leg-before for 43 and then bowled Pietersen for 33 four balls later to finish with four for 28 from 10 overs.
Yuvraj, who turns 27 next month, was an easy choice for the man of the match award after being declared fit to play just before Indian captain Mahendra Dhoni won the toss.
Opener Gautam Gambhir (70) helped him put on 134 for the fourth wicket after a deadly triple strike by 20-year-old fast bowler Stuart Broad had reduced India to 29-3 by the eighth over.
Yusuf Pathan celebrated his 26th birthday with an unbeaten 50 off 29 balls, taking 17 runs off the last four deliveries of the innings bowled by Steve Harmison.
Yuvraj hit 15 boundaries and two sixes in his 10th one-day century before he was caught behind off Broad in the 44th over.
Pietersen, whose team was whipped by 158 runs in the first match, rubbished suggestions that England were incapable of challenging the Indians at home.
"This is the same squad that beat South Africa 4-0 a few months ago and they must have done something right," the England captain said.
"We improved from the last game, let's hope we can improve some more.
"We had a good start with the ball making them 29-3, but if one of our top four had got a big score it would probably have made the game a lot closer."
The third match will be played in Kanpur on Thursday.