Half-centuries from captain Rahul Dravid, Dinesh Karthick, Sachin Tendulkar and Sourav Ganguly frustrated the hosts on a bone-dry wicket at the Ruhul Amin stadium that offered no assistance to the bowlers.
India, electing to take first strike, were stunned when Jaffer was bowled off the first ball of the match by Bangladesh pace spearhead Mashrafe Mortaza.
Jaffer, who was not picked for the preceding one-day series, which India won 2-0, shouldered arms to a delivery that swung in sharply and shattered the stumps.
But Bangladesh's joy was short-lived as the Indian middle order settled in to take their team towards a commanding first innings total.
Dravid (61) and Karthick (56) put on 124 for the second wicket before falling in the space of 12 deliveries in the rain-curtailed afternoon session.
Senior pros Tendulkar and Ganguly, returning to the side after being kept out of the one-dayers, denied Bangladesh further success as they added 163 for the unbroken fourth wicket.
Tendulkar was unbeaten on 80 and looked set to add to his world record 35 Test centuries. He has so far hit seven boundaries.
Left-handed Ganguly was on 82, a stroke-filled knock studded with 10 fours and two sixes, both off left-arm spinner Mohammad Rafique.
Play ended 13 overs early due to bad light, much to the relief of the Bangladesh fielders, who toiled hard in oppressive hot and humid conditions.
Mortaza ended the day with two for 64, but veteran Rafique was hammered for 89 runs in his 20 unsuccessful overs.
An hour's play was lost in the afternoon session following light rain during the lunch break, an interruption that appeared to break the concentration of both Dravid and Karthick.
The duo, which put on 113 for the second wicket by lunch, took the total to 124 when Karthick (56) played a rash drive off Mortaza and holed out to Mohammad Ashraful at mid-off.
Karthick hit nine boundaries in his third Test half-century, justifying the selectors' faith in turning the team's reserve wicket-keeper into an opening batsman.
Dravid had made 61 when he top-edged a cut off seamer Shahadat Hossain and was caught behind by wicket-keeper Khaled Mashud as India went from 124-1 to 132-3.
Veterans Tendulkar and Ganguly, however, rotated the strike and hit the loose balls for boundaries to keep the Bangladesh bowlers at bay.
India included five bowlers in their team, but sprang a surprise by fielding three seamers in Zaheer Khan, Vikram Rajvir Singh and Rudra Pratap Singh.
Anil Kumble and Test debutant Ramesh Powar formed the spin attack, while Venkatsai Laxman and Yuvraj Singh were the two specialist batsmen to miss out.
Bangladesh left out rookie spinner Mehrab Hossain and fielded two seamers and two spinners.