With the game tied 1-1, Metropolit put the Blues in front with his 14th goal from the right circle at 13:44 after a turnover by Stars defenceman Stephane Robidas. Weight's deflection for his 15th of the season at 14:01 extended St. Louis' lead to 3-1.
Lee Stempniak scored twice, including into an empty net with 24 seconds left. Curtis Sanford stopped 28 shots for the Blues, who won three of the four meetings this season.
Mike Ribeiro and Brenden Morrow scored for the Stars, who remain at 102 points, four behind the Pacific Division-leading Anaheim Ducks.