Weight's goal was first called a save by Dominik Hasek, but overturned by a review.
Dan Cleary, Detroit's last shooter, was stopped by Jason Bacashihua. That save also was reviewed, but upheld.
Tomas Mojzis scored his first career goal and Brad Boyes also scored for St. Louis. Bacashihua made 40 saves.
Jiri Hudler and Valtteri Filppula got Detroit's goals and Hasek stopped 17 shots.
Red Wings defenceman Brett Lebda suffered a concussion and was carried off the ice on a stretcher early in the game after having his face rammed into one of the metal stanchions that supports the glass behind the Detroit net.
Lebda was awake and doing fine, according to the Red Wings, and was taken to Detroit Medical Center for precautionary tests.
He was knocked into the metal support by a forearm from St. Louis' Ville Nieminen and waved to the crowd as he was being taken off.
Lebda is the third Detroit player to suffer a concussion because of a hit to the head this season. The other two were Jason Williams, now with Chicago, and Johan Franzen.
Nieminen received a major penalty for boarding and a game misconduct.
Filppula tied it 2-2 on a rebound with 7:17 left in the third period.
Mojzis opened the scoring 4:36 into the game when he backhanded in his own rebound as a penalty was being called on the Red Wings. Boyes made it 2-0 with 7:47 left in the opening period when he scored his 17th goal, on a rebound.
Notes: Bacashihua is from the Detroit suburb of Garden City. ... Chelios passed Johnny Bucyk and is now ninth all-time in games played with 1,541.