Manny Malhotra added a goal and an assist for the Blue Jackets, who have won three straight. Derrick Walser and Geoff Platt scored goals, while Jason Chimera had three assists. Fredrik Norrena made 25 saves for Columbus.
Doug Weight scored for St. Louis, which has lost three of four.
Modin scored 4:57 into the second period when he took a pass from David Vyborny and roofed the puck with a backhand shot to give Columbus a 3-1 lead.
Columbus is 3-1-3 against the Blues this season and moved within five points of St. Louis for third place in the Western Conference's Central Division. The teams meet again Tuesday night in St. Louis.