Toronto had an 17-5 shot advantage in the second period.
"Except for the Laine goal, it's as perfect a period as you probably can be in terms of our structure," Maple Leafs coach Sheldon Keefe said.
Adam Boqvist tied it 2-2 at 1:05 of the third period with a power-play goal, going 1-on-3 into the zone and scoring from the high slot after Berube left the puck behind the net for him.
"Not acceptable on my part," Campbell said. "We should have won 3-0, or whatever. … We deserved two points."
Brendan Gaunce put the Blue Jackets ahead 3-2 at 7:13, his second goal in as many games. He outraced defenseman Ilya Lyubushkin in open ice for his third goal of the season.
Berube, playing a second straight game in place of injured Elvis Merzlikins and Joonas Korpisalo, on Sunday won his first NHL game since April 4, 2018, 7-3 against the Buffalo Sabres.
"I definitely felt more comfortable tonight," Berube said.
NOTES: Laine's streak is the second-longest of his NHL career; he had a 15-game streak for the Winnipeg Jets in 2017-18. He is tied for the third-longest point streak in Blue Jackets history behind Ryan Johansen (13 games, 2014-15) and Cam Atkinson (12, 2018-19). … Jenner has scored seven points (two goals, five assists) in a four-game point streak. … Werenski had two assists to give him 222 points, one behind Seth Jones for the most by a defenseman in Blue Jackets history. Werenski has scored eight points (two goals, six assists) in a six-game point streak. … Lyubushkin had one hit playing 15:28 in his Maple Leafs debut after being acquired in a trade with the Arizona Coyotes on Saturday. … Keefe said pregame that Jake Muzzin is in concussion protocol. The defenseman left with three seconds remaining in the second period Monday after a collision with Montreal Canadiens defenseman Chris Wideman. Muzzin remained in Montreal overnight for observation before returning home Tuesday. He missed seven games with a concussion sustained Jan. 15.