Samuels, whose previous best was 123 against New Zealand in Kingston in August, had scored 31 fours and three sixes in his 260 when he was caught by sub fielder Elias Sunny off Rubel Hossain.
Samuels' dismissal left West Indies on 546 for four but there was little relief for the beleaguered home attack. Darren Bravo had earlier scored a century of his own and Shivnarine Chanderpaul also passed his hundred as the tourists tried to make it two wins as many games in the two-match series.
Chanderpaul (109 not out) and Denesh Ramdin (four not out) saw the tourists to the close by which time they had built up a 177 run lead. Samuels formed useful partnerships with both Bravo and Chanderpaul as the home attack struggled all day to make inroads into the visitors' batting line-up.
After pushing on from an overnight 241 for two in reply to 387, Samuels and Bravo looked in complete control during the morning session. Bangladesh finally made a breakthrough in the last over of the morning as Bravo was dismissed by Sohag Gazi for 127, leaving his side 18 behind.
As lunch neared, another Bravo nick had fallen just short, but he ran out of luck when he was lbw to Gazi in the next over, ending a partnership of 226. His dismissal only brought Chanderpaul to the crease and he set about helping Samuels to steer the tourists into a lead.
Samuels first knocked off the 15 runs he needed for a century and then breezed past 150. He accelerated with two fours and a six over the bowler's head off one over from Shakib Al Hasan.
By tea Samuels and Chanderpaul looked set for a concerted push in the final session. Samuels had taken his score on to 260 before he finally fell to Hossain, having put on 177 with Chanderpaul for the fourth wicket.
Samuels had looked set to see out the day when a quicker delivery from Hossain reared up and hit the shoulder of the bat, the ball flying to point where Sunny took an easy catch.
Chanderpaul and Ramdin then put on an unbeaten 18 for the fifth wicket as the tourists closed on 564 and a useful lead which was closing in on 200 runs.