At close of play on Day 2, the hosts were 59 for three, still 184 runs behind the Indian total, with seven wickets intact.
For the second successive day play was interrupted by fog and poor visibility and only 24.5 overs could be bowled.
But that was enough to ensure two things: first India got bowled out after the addition of just 30 runs to their overnight total (213 for eight). It is imperative here to mention that during the process Sachin Tendulkar completed a well-deserved hundred, his 44th in Tests.
Secondly, in the remaining period, the visitors were able to make early inroads into the Bangladesh innings and wrest the advantage with three quick wickets before play stopped.
Zaheer Khan trapped Imrul Kayes (23) up front -- in the 15th over -- to give the visitors their first breakthrough, but not before the 22-year-old had put on 53 runs for the opening wicket with Tamim Iqbal (31).
Ishant Sharma had Shahriar Nafees (4) caught by VVS Laxman at second slip in the next over to make it double celebration for India.
And Zaheer cleaned up Tamim in the next to wrest back the advantage before bad light halted play yet again -- for the third time in the day.
Tea was taken early, but eventually the players never returned to the ground.
Morning session (51 runs, 11.5 overs, 2 wickets):
(Indian innings)
Earlier, Tendulkar completed a 44th Test ton, even as India were dismissed for just 243 in their first innings.
It was the second lowest total by a team against Bangladesh -- after a second string West Indies side had been dismissed for just 237 at St George's Park last year.
Shahadat Hossain and captain Shakib Al Hasan were the pick of the host's bowlers, both helping themselves to five-wicket hauls.
Play on day 2 commenced after yet another 90-minute delay, because of fog and bad light, akin to the opening day. And it took Bangladesh a ball less than eight overs to polish off the Indian tail.
Tendulkar remained unbeaten on 105, his knock comprising 11 hits to the fence and two huge ones over it. The ace batsman began the day with a flourish. Unbeaten on 76 overnight, he took seven runs off the day's first over (by Hossain), including a pull to the square leg fence.
In the next over (by Shakib) he danced down the pitch and lofted the ball over mid-on for yet another boundary.
With just two wickets left, the 36-year-old realized that he had to take a calculated risk at some point and made his intentions clear at the outset.
The last ball of Shakib's next over went beyond the mid-on fence, Tendulkar's second maximum of the innings.
But Ishant could give him company only for a little less than five overs, edging a Hossain delivery to Mushfiqur Rahim behind the stumps. India 230 for nine.
Ishant's wicket gave Hossain his third five-wicket haul in Tests. The batsman failed to add to his overnight score of one.
However, in the final two balls of the same over, Tendulkar first smashed the ball to the cover fence and repeated the feat with the next, this time steering it between gully and backward point to complete his 44th Test hundred.
The Master Blaster, who crossed the 13,000 Test runs milestone on the first day, bolstered his records tally with yet another addition.
But S Sreesanth (1) failed to provide the requisite support for Tendulkar to carry on, getting caught at silly point by Imrul Kayes (off Shakib).
It was the Bangladesh skipper's sixth five-wicket haul in Tests and ensured the visitors were dismissed for a paltry 243.
(Bangladesh innings)
Having dismissed India cheaply, Bangladesh made a confident start to their innings.
At lunch, the hosts were 21 without loss in four overs.
The hosts began their reply on an aggressive note, Tamim hitting a couple of boundaries off Zaheer.
The opener hit a couple of more boundaries in the fourth over of their innings (by Sreesanth) to end up unbeaten at 21. Imrul was yet to open his account.
Post-lunch session (38 runs, 13 overs, 3 wickets):
After a 15-minute delay for resumption after lunch -- owing to bad light again -- nine runs came off the first over by Zaheer.
Imrul opened his account with two boundaries in the space of four balls, the first past a diving Ishant at mid-on and the second deliberately over the slips. The left-hander beat the mid-off fielder in Sreesanth's next over.
The introduction of Ishant into the attack, in the eighth over, made no difference, as Imrul cleared the fielder at cover to notch yet another boundary.
The 22-year-old was now doing what his opening partner Tamim had done before lunch -- play aggressive. And if Imrul was a spectator before the break, after it Tamim assumed that role.
But after scoring just a run in almost nine overs, Tamim broke the shackles with a boundary past mid-on off Zaheer. He helped himself to another boundary in the next over by Ishant, this time wide of point. The shot helped bring up the Bangladesh 50.
However, Zaheer struck in the next over, trapping Imrul plumb in front. It was the impetus India needed and resulted in a couple of more successes for the visitors.
Ishant had Nafees (4) caught by Laxman in second slip and Zaheer came back to clean up Tamim to reduce Bangladesh to 58 for three (from 53 for no loss).
India looked good to inflict further damage on the hosts but bad light came to the latter's rescue.
Photograph: Reuters
Dhoni century lifts India to victory
Bangladesh axe Zunaed, Enamul for Tri-series
Injured Mortaza left out of Bangladesh squad
Spotted: Sachin Tendulkar in Napier
Have you met Sachin Tendulkar?