Paul Stastny and Vladimir Tarasenko each had a goal and assist for St. Louis, which was held without a shot in the third period.
Alex Pietrangelo scored for St. Louis, which won its third in a row to start the season, the fourth time in its history it's done so (1969-70, 1993-94, 2013-14).
The Blues played the third period without defenseman Carl Gunnarsson and centers Kyle Brodziak and Jori Lehtera. Each departed with an upper-body injury, leaving St. Louis with 10 forwards and five defensemen.
"The goalie was outstanding in the third period," Blues coach Ken Hitchcock said of Hutton. "He won us the game, which was great. We needed it. Whether it was three (games) in four nights or the injuries or whatever that depleted us, we needed our goalie in the third period, and he came through for us."
Chris Kreider and Zibanejad each had a goal and assist for the Rangers, who defeated the New York Islanders 5-3 at Madison Square Garden in their season opener Thursday. Henrik Lundqvist made 15 saves.
The Rangers felt they threw everything they had at Hutton but could not get one past the Blues goalie when they needed to most.
"He was seeing the puck a lot, and I'm sure we had some shots, but you've got to try and take away his eyes and make him uncomfortable a little bit more, and we could have," Rangers captain Ryan McDonagh said.
Tarasenko scored his third goal to put St. Louis ahead 1-0 at 1:13 after Colton Parayko blocked a J.T. Miller shot, getting the Blues out in transition.
The Rangers tied it on Kreider's goal at 5:25 after he collected a loose puck in the slot and beat Hutton with a wrist shot to the short side.
The Rangers were outshooting the Blues 8-1, but the Blues finished the first with the final 10 shots, and Stastny got his 100th point with St. Louis when he scored on a rebound of a shot from Robby Fabbri in the slot with 2:28 left.
Pietrangelo scored on the power play with a one-timer from the slot at 2:28 of the second to make it 3-1, but Zibanejad scored 30 seconds later.