Tendulkar's hundred (114), which came in 147 deliveries, took the Indian score to 289 and it looked a daunting total till a series of blitz by Shakib Al Hasan (49 off 31), Nasir Hossain (54 off 58) and skipper Mushfiqur Rahim (46 off 25) blew away the Indian challenge. Tamim Iqbal's knock of 70 and his 113-run partnership with Jahurul Islam (53 off 68) for the third wicket laid a solid foundation for Bangladesh.
Opening the innings for Bangladesh, Tamim hit his second consecutive half-century. Praveen Kumar gave India an early breakthrough, picking up the wicket of Nazimmudin (5 off 15). But Jahurul, playing his 8th match, mixed aggression with caution. He got to his maiden fifty, before being caught at mid-wicket by Rohit Sharma off Ravindra Jadeja.
Hossain picked up where Jahurul left, clobbering the Indian bowlers from the outset. The wicket of Tamim although gave India a chance to claw their way back, an onslaught by Shakib took the game away from them. His partnership of 68 off just 48 balls with Hossain turned the game in Bangladesh favour.
Huge blows (3 fours, 3 sixes) by skipper Rahim towards the end of the innings sealed the victory for the home side. Indian bowlers went for plenty in death overs, leaking 36 runs off the last 14 balls.
Earlier, Sachin reached the much-awaited 100th century. A sigh of relief was palpable on the face of the veteran batsman who kissed the India emblem on his helmet after waving his bat towards his teammates.
He and Virat Kohli, who came together after the dismissal of Gautam Gambhir (11), shared 147 runs for the second wicket before Kohli was bowled by Abdur Razzak for 66. Suresh Raina was sent ahead of Rohit and the left-hander wasted no time in displaying his array of attacking strokes. His 51 off 38 balls gave the much-needed impetus to the Indian innings, which seemed to have lost momentum as Tendulkar neared the milestone. Rohit was run out while stealing a two at death.
Skipper Dhoni remained unbeaten on 21, along with Jadeja who contributed with 4. Mashrafe Mortaza, who picked up the wickets of Raina and Tendulkar in consecutive deliveries, was the best bowler for Bangladesh.
India will play archrival Pakistan, who have already reached the final, in a must-win game on Sunday.