Brayden Schenn and Pius Suter scored for the Blues (7-9-6), who were 0-1-3 in their previous four.
Anders Lee scored for the Islanders (12-8-2), who had won two in a row and were coming off a seven-game road trip (6-1-0). Ilya Sorokin made 20 saves.
Schenn made it 1-0 by scoring on the rush just 42 seconds into the game. He beat Sorokin blocker side from high in the right face-off circle off a pass by Pavel Buchnevich.
Sorokin got over to the left post to deny Dalibor Dvorsky’s backdoor try at 18:03, keeping it a one-goal game.
Suter extended the lead to 2-0 at 17:51 of the second period. Sorokin stopped a Dylan Holloway point shot, but Suter went to the backhand to lift the rebound over the goalie’s left pad.
Binnington stuck out the right pad to stop Lee’s wrist shot on a breakaway at 9:24 of the third period.
Lee cut it to 2-1 at 16:40 with Sorokin pulled for the extra attacker. He buried a rebound from the top of the crease.
New York appeared to tie the game at 17:54, but the goal was waved off because Kyle Palmieri interfered with Binnington. On the play, Blues defenseman Justin Faulk was assessed a double minor for high-sticking Islanders forward Jonathan Drouin, putting New York on the power play for the duration.
With Sorokin pulled and the Islanders at 6-on-4, Binnington gloved Bo Horvat’s one-timer from the top of the left circle with 29 seconds remaining.