Ryan O'Reilly scored two goals and had an assist, David Perron had a goal and an assist, and Jordan Binnington made 23 saves for St. Louis.
It was the fourth straight game between the Blues and Coyotes here; St. Louis won 4-3 on Tuesday before Arizona won the next two, 4-3 on Thursday and 3-1 on Saturday. They will play three more games against each other at Arizona on Friday, Saturday and Monday.
"I just don't think we played well enough, played hard enough," O'Reilly said. "Again, we didn't outcompete them. It's embarrassing. We just lost three in a row at home to that team and just sparked them to give them that much. Four, I guess, not-so-great games. It's very disappointing. It's embarrassing."
O'Reilly's second goal of the game was his 200th in the NHL and gave the Blues a 3-2 lead at 3:44 of the third period. His power-play goal on the rebound of Perron's wrist shot was the first for the Blues against the Coyotes in 24 chances and made it 1-0 at 13:29 of the first.