Leopold, 30, will move from the Sabres -- currently out of the Eastern Conference playoff picture -- to the Blues, who are clinging to the eighth and final playoff spot in the West.
In exchange, the Sabres will receive conditional second-round and fifth-round selections in the upcoming draft.
Leopold has picked up two goals and six assists in 24 games for the Sabres this season -- slowing down from his previous pace of 23 goals and 59 points in 150 earlier appearances for Buffalo.
The former Anaheim second-round choice has 65 goals, 202 points and 268 penalty minutes over 610 career games for Calgary, Pittsburgh, Florida and the Sabres across 10 seasons.
To make room, the Blues assigned goaltender Jake Allen to Peoria of the American Hockey League after he had racked up an 8-3-0 record in 12 rookie appearances with the NHL club.