Gibson, who missed the previous three games with a lower-body injury, has allowed two goals or fewer in eight consecutive starts (6-1-1).
[WATCH: All Blue Jackets vs. Ducks highlights]
Rickard Rakell and Cam Fowler each had a goal and an assist, and Andrew Cogliano and Josh Manson scored for the Ducks, who won for the first time in three games (1-1-1) and extended their home point streak to seven (5-0-2).
Anaheim (32-21-12) holds the second wild card into the Stanley Cup Playoffs from the Western Conference, one point ahead of the Colorado Avalanche, who briefly held the final postseason spot after a 7-1 win against the Minnesota Wild.
"We've had a good rhythm lately," Cogliano said. "That's been a big part of our game."
Zach Werenski had a goal and an assist, Oliver Bjorkstrand had two assists, and Sergei Bobrovsky made 31 saves for Columbus (32-28-5), which is tied with the Carolina Hurricanes for the second wild card in the Eastern Conference.
"It's that time of the year where every team is going 100 percent, playing physical," Milano said. "We've just got to expect it at this point."
Cogliano gave the Ducks a 2-1 lead with a shorthanded goal at 11:17 of the second period.
Manson was in the penalty box for interference on Seth Jones when Blue Jackets forward Artemi Panarin was unable to stop the puck on a pass back to him at the Columbus blue line. Cogliano retrieved the puck and beat Bobrovsky between his pads on a breakaway for the 18th shorthanded goal of his NHL career.
Video: CBJ@ANA: Fowler's laser finds twine through screen
"That was a big turning point," Ducks coach Randy Carlyle said.
Just after Manson exited the penalty box, Anaheim defenseman Francois Beauchemin made a long pass to him at the red line. Manson went in on a breakaway and scored between Bobrovsky's pads for a 3-1 lead at 12:44.
"We kind of beat ourselves in those situations," Werenski said.
Fowler scored at 16:05 of the third period to put the Ducks ahead 4-1, and Werenski scored at 17:53 to make it 4-2.
Anaheim was 4-for-4 on the penalty kill to improve to 29-for-30 since Feb. 9.
"When you win the special-teams battle, you usually have a very good chance of winning the game," Carlyle said. "Though we didn't deliver on the power play, our penalty-killing kept them off the board."
Sonny Milano gave the Blue Jackets a 1-0 lead at 13:28 when Bjorkstrand passed to him in the slot after Werenski's shot went off Gibson's chest.
Video: CBJ@ANA: Milano punches loose puck past Gibson
"We start a lot of games the way we want to, but we don't finish the way we want to," Werenski said.
Rakell tied the game 1-1 38 seconds later. Fowler's pass hit off Corey Perry's skate to Rakell in the slot for a high backhand shot past Bobrovsky at 14:06.
It was Rakell's fourth goal in two games. He has an NHL career-high 53 points, two more than he had in 71 games last season.
Each team had a late scratch among its top six forwards.
Ducks captain Ryan Getzlaf did not play because of the flu. His 42 points (nine goals, 33 assists) are second on Anaheim.
"When your leader is out, you have to rally the troops," Manson said. "That's what we did tonight."
Blue Jackets center Alexander Wennberg did not play after he sustained an upper-body injury late in a 5-2 loss at the Los Angeles Kings on Thursday.
Video: CBJ@ANA: Rakell roofs quick backhander on Bobrovsky
Goal of the game
Cogliano's goal at 11:17 of the second period.
Video: CBJ@ANA: Cogliano steals, goes five-hole for SHG
Save of the game
Gibson stopping Pierre-Luc Dubois at 11:01 of the second period.
Video: CBJ@ANA: Gibson kicks out the pad to deny Dubois
Highlight of the game
Manson's goal at 12:44 of the second period.
Video: CBJ@ANA: Manson slips backhand five-hole on breakaway
They said it
"I think we stood in there. I think we played physical. They are a good, hard team, so it's tough to play against that. I think we did a good job of it." -- Blue Jackets defenseman Zach Werenski
Video: CBJ@ANA: Werenski rifles wrister past Gibson
"We wanted to make sure we held ourselves accountable when we have two days off. We wanted to make sure we worked hard with two days of practice and followed up with a good game." -- Ducks goalie John Gibson
Need to know
Werenski's goal was his 12th of the season, tying the Blue Jackets record for a defenseman (Bryan Berard, 2005-06; Jones, 2016-17). ... Bobrovsky played his 300th game for the Blue Jackets. ... Columbus had 30 or more shots on goal for the 47th time this season. ... Perry has had an assist on Rakell's past four goals. ... Cogliano has 15 shorthanded goals for the Ducks, one shy of Paul Kariya's Anaheim record. ... The Ducks are 9-1-2 at Honda Center since Dec. 29.
Blue Jackets: At the San Jose Sharks on Sunday (9 p.m. ET; NBCSCA, FS-O, NHL.TV)
Ducks: Host the Chicago Blackhawks on Sunday (4 p.m. ET; NHLN, PRIME, NBCSCH, NHL.TV)
Video: Balanced team effort paces Ducks past Jackets, 4-2