DENVER — The Avalanche fans were loud. The Bruins fans — and there were a lot of them — were arguably louder.

In far and away the best atmosphere at Ball Arena all season, the Avs came away with a 4-3 shootout victory over the Boston Bruins in an entertaining back-and-forth battle that had what head coach Jared Bednar described as “a little bit of everything.”

Big saves? Both Jeremy Swayman and Avs goalie Alexandar Georgiev were exceptional, making huge saves in key moments.

Power play goals? Goal scorers Mikko Rantanen and Brad Marchand exchanged those nearly five minutes apart in the opening period.

And not to mention the exciting chances at 5-on-5, key penalty kills coming up big in the clutch, both late in regulation and in overtime. And of course, the lone shootout tally from Valeri Nichushkin, who lifted the Avs to a massive victory against a strong Boston Bruins team.

It was electrifying.

“Start to finish, that’s probably one of our most complete games of the year,” Bednar said. “Just the way we played, competed, took care of the puck. It was a really good hockey game.”

The Avs had goals from Logan O’Connor, Sam Malinski and the aforementioned power-play tally from Rantanen. They improved to 26-12-3 overall and a whopping 17-5-0 on home ice.

Before the shootout, where Nichushkin scored to close out the game following five misses, the Avalanche found themselves shorthanded with 1:58 remaining in OT. Superstar defenseman Cale Makar played nearly the entire kill for the Avs, and was ever so close to getting a last-second shot on goal before the buzzer sounded — but he missed the net.

Without defensemen Bowen Byram and Josh Manson, both out with lower-body injuries, Makar played a game-high 31:17.

“We knew it was gonna be a good test,” Makar said. “It shows the character that we have right now.”

The Avs led twice in regulation, both by a goal, after giving up the opening tally in the first period.

Malinski was called up from the American Hockey League earlier in the day and put his fingerprints on this matchup in the second period. Tied at 2-2, Malinski possessed the puck at the blue line off a clean faceoff win from center Ryan Johansen. He walked the line toward the center in Makar-like fashion and fired a wrist shot past Swayman to put the Avs ahead with 2:04 remaining.

“[Johansen] told us to get a puck down to the net and then he won it pretty clean,” Malinski said, explaining the play that led to his second goal of the season. “I just tried to get to the middle of the ice and the guy was in my lane so I had to do a little stutter just to open up the lane and shoot it down in the net.”

Colorado carried the lead into the third period but saw the Bruins suddenly take over early with better high-danger opportunities. And at 5:46 of the final frame, Marchand scored his second of the evening to knot things up again.

Following Marchand’s power-play goal that started the scoring, Colorado countered with a power play of its own less than five minutes later. Superstar center Nathan MacKinnon fed Rantanen in the crease for the redirection goal. Rantanen’s 21st of the season helped extend MacKinnon’s home-point streak to 22 games. MacKinnon has a point in each game at Ball Arena this season — the fifth-longest streak of its kind in NHL history.

The Avalanche followed it up with its first lead of the game early in the second period thanks to an aggressive forecheck from O’Connor. The hard-working forward challenged two Bruins skaters before picking the puck off of defenseman Kevin Shattenkirk in the circle near the Bruins’ goalie. He quickly turned around and shot it past Swayman to make it 2-1.

The lead stood until midway through the second period when John Beecher finished a feed from Danton Heinen from in close, which bounced off the pad of Georgiev before he put home the rebound. A frustrated Georgiev snapped his stick in half after surrendering the goal and smashed it across his post for good measure.

“I think he’s shown too much [emotion] over the course of the season,” Bednar said. “Like when you start slamming doors, breaking sticks. To me, if you’re on the other bench you’re just like, we’re getting these guys where we want them. That’s the message it’s sending. I don’t know who he’s mad at but like everyone’s defending it as hard as they can, the pucks laying there in the crease and they chip it in.”

Georgiev was a key piece of the win. He only faced 26 shots but had to make several massive saves to keep the game close. During the Bruins’ OT power play, Georgiev stretched his left pad to stop Marchand from completing the hat trick and winning the game for Boston. He finished with 23 saves.