Bangladesh set New Zealand a modest run chase of 233 after suffering an early collapse.
Bangladesh have not defeated New Zealand in any format in their backyard.
Shakib Al Hasan was hit on his left ring finger while batting in the final of Bangladesh Premier League 2019.
Windies captain Jason Holder struck a commanding 202 not out and also took two useful wickets in first-innings.
Evin Lewis was adjudged man of the match for scoring an explosive 89 off 36 balls.
Shakib Al Hasan smashed an unbeaten 42-run knock to help Bangladesh post a record total of 211/4.
West Indies registered their first victory to stay alive in the series after suffering a five-wicket loss in the opening match on Sunday.
Tamim Iqbal has not played since injuring his wrist during the Asia Cup opener against Sri Lanka in September.
Bangladesh defeated the Windies by an innings and 184 runs to register their first Test series win in four years.
The Windies were reduced to 75 for five at stumps on the the second day, trailing Bangladesh by 433 runs in the first innings.
Bangladesh lead the two-Test series 1-0.
Bangladesh came close to winning series twice in the past two years.
Shakib Al Hasan dismissed Windies opener Kieran Powell on Day 3 to reach the 200-wicket mark in Test cricket.
Riding on Mominul Haque's 120-run knock, Bangladesh scored 315 for eight against the Windies on the opening day of the first Test.
Shakib Al Hasan said he was unsure when his second surgery would be conducted as he was yet to fully recover from the infection.
Bangladesh will play against Zimbabwe and the Windies during this three months.
Shakib Al Hasan had missed the virtual Asia Cup 2018 semi-final against Pakistan after he complained of a fresh pain in an injured finger.
Ravindra Jadeja claimed four wickets in the Super Four match against Bangladesh in the Asia Cup 2018.