Bangladesh made history by claiming their first Test victory at the 35th attempt in Chittagong on Monday, crushing Zimbabwe by 226 runs.
The team, which became the world's 10th Test team when granted Test status in 2000 but has struggled for respectability ever since, sealed victory just before tea on the final day.
Eighteen-year-old spinner Enamul Haque Junior, playing his fourth Test, took a career-best six for 45 from 22.2 overs, including the final wicket.
The players then ran towards each other to celebrate before being joined by coach Dav Whatmore and then setting off on a lap of honour.
Zimbabwe, resuming on 46 for three and 133 for six at lunch, were dismissed for 154 in their second innings, Christopher Mpofu was the last man out as he edged to Mohammad Ashraful at silly point.
The touring side were playing in their first match since having their Test status suspended last June. The International Cricket Council ruled their team was uncompetitive following a selection dispute which sparked a walkout by a group of leading white players.
Outside the stadium, thousands of people ran onto the streets, shouting: "Bangladesh, Bangladesh, cricket, cricket."
The home side was always in control after making 488 in the first innings and taking a 176-run lead. They then set the Zimbabweans 381 to win and pressed home their advantage when Tapash Baisya removed Barney Rogers and Vusi Sibanda for ducks to leave the visitors on 2 for 2.
Zimbabwe captain Tatenda Taibu, who had made 92 in the first innings, was the key wicket on Monday, dismissed for a duck by man-of-the-match Haque.
Haque, who had failed to take a single wicket in the first innings, also removed Hamilton Masakadza, caught and bowled for 56.
Bangladesh had managed three draws in their previous matches -- two of them against Zimbabwe and one against West Indies. Two of those encounters, however, were badly affected by rain.
Their closest previous result was against Pakistan in Multan in September 2003, when they lost by a single wicket.
Scorecard:
Bangladesh (1st innings): 488 (Habibul Bashar 94, Rajin Saleh 89, Mohammad Rafique 69, Nafis Iqbal 56; Christopher Mpofu 4-109)
Zimbabwe (1st innings): 312 (Tatenda Taibu 92, Elton Chigumbura 71; Mohammad Rafique 5-65, Mashrafe Mortaza 3-59)
Bangladesh (2nd innings): 204-9 declared (Habibul Bashar 55, Elton Chigumbura 5-54)
Zimbabwe (2nd innings): (overnight 46-3)
S.Matsikenyeri b Enamul Haque jnr 20
B.Rogers c sub b Tapash Baisya 0
V.Sibanda lbw Tapash Baisya 0
H.Masakadza c and b Enamul Haque jnr 56
B.Taylor lbw Enamul Haque jnr 44
T.Taibu c Aftab Ahmed b Enamul Haque jnr 0
E.Chigumbura c Khaled Mashud b Mashrafe Mortaza 10
M.Nkala b Mashrafe Mortaza 5
G.Cremer c Rajin Saleh b Enamul Haque jnr 2
D.Hondo not out 6
C.Mpofu c Mohammad Ashraful b Enamul Haque jnr 5
Extras (lb-1 w-1 nb-4) 6
Total (all out, 64.2 overs) 154
Fall of wickets: 1-1, 2-2, 3-42, 4-112, 5-115, 6-126, 7-138, 8-143, 9-145.
Bowling: Mashrafe Mortaza 17-4-45-2, Tapash Baisya 10-6-20-2 (w-1), Enamul Haque Junior 22.2-5-45-6 (nb-4), Mohammad Rafique 15-6-43-0
Result: Bangladesh won by 226 runs.
Second Test: January 14-18 in Dhaka.