His biggest might have come in the first period, when he stopped Valtteri Filppula on a breakaway at 3:16.
"As the game turned out, that ended up being a huge save," Ullmark said. "I was just trying to stay in front of him and make myself big. You make that save some of the time, and they score some of the time. Today, it worked out in my favor."
[WATCH: All Sabres vs. Red Wings highlights]
Sam Reinhart had a goal and an assist, and Jack Eichel had two assists for Buffalo (9-2-1), which won for the seventh time in nine games, one night after losing 6-2 at the New York Rangers.
"We weren't good with the puck last night, especially on our line," Reinhart said of his combination with Eichel and Victor Olofsson. "Tonight, as a group, we were much better. We created more shots, both on 5-on-5 and the power play."
Video: BUF@DET: McCabe fires home snap shot to open scoring
The Sabres haven't lost back-to-back games this season, something Ullmark attributes to coach Ralph Krueger.
"We've had three losses, and none of them have carried over," Ullmark said. "Last year, that wasn't always the case. Ralph is doing a good job of communicating that we just need to put those in the past and focus on the game plan for the next game."
Jimmy Howard made 23 saves for Detroit (3-8-0), which has lost seven games in a row.
"I thought we played a pretty solid game defensively, but we didn't score," Red Wings forward Dylan Larkin said. "You can't win a game if you don't score. We need a win in the worst way, just to get our confidence back."
The Red Wings have been outscored 29-9 in the losing streak, but coach Jeff Blashill thought they took a step forward against the Sabres.
"If we play that game 10 times, we win nine of them," Blashill said. "The chances were 21 to seven in our favor, and you aren't going to lose many games like that. We were making things happen. We just can't get anything to go in."
Jake McCabe, who missed much of the first period after sustaining a facial injury, scored through a screen to give the Sabres a 1-0 lead at 11:40 of the second period. It was his first goal of the season.
"I got a puck to the chin on my second shift and got my face slammed into the glass on my third shift," said McCabe, sporting stitches in multiple places. "I guess I've already got a costume for Halloween."
Video: Ullmark earns Friday's Pepsi Zero Sugar Shutout
Reinhart made it 2-0 at 1:15 of the third period, deflecting in Olofsson's pass for a power-play goal.
"Everyone talks about Vic's shooting, but he's already able to break down defenses and get the puck to the net," Reinhart said. "He had a guy coming at him, but he used his movement to get a lane and hit me with a pass."
Ullmark made 21 saves in the third period, including nine after the Red Wings pulled Howard with 3:05 to play.
"Linus was great, especially down the stretch, but what really sets both of our goaltenders apart is their puck-handling," McCabe said.
For two of those minutes, Detroit had a 6-on-4 advantage after a Colin Miller penalty, and it was practically 6-on-3 for almost a minute after Eichel lost his stick.
"The puck was flying around, but our guys were blocking a lot of their chances," Ullmark said. "[Rasmus Ristolainen] blocked one shot right in front of the net and then cleared it in the same motion. Those were huge."
Video: BUF@DET: Reinhart taps in power-play goal
They said it
"For me, that was the most enjoyable win of the season, given the circumstances. We lost our way in phases of the game yesterday in ways that were quite disappointing, and in a short period of time they were able to reconnect with our plan and really shut down their scoring chances." -- Sabres coach Ralph Krueger
"We were a lot better defensively and we didn't crumble when they made it 2-0 early in the third, but we need a win bad. We have to find two points. We need better goaltending, we need better play in the defensive zone, and we need to score. It's everything." -- Red Wings goalie Jimmy Howard
Need to know
Sabres forward Marcus Johansson played his 600th NHL game. … Howard dislodged the net during a third-period penalty kill, but Reinhart kept the play going by immediately putting it back into position. … Red Wings forward Givani Smith had two shots on goal in 11:01 in his NHL debut.
Sabres: Host the Arizona Coyotes on Monday (7 p.m. ET; NHLN, TVAS, MSG-B, FS-A PLUS, NHL.TV)
Red Wings: Host the St. Louis Blues on Sunday (5 p.m. ET; ESPN+, FS-D, FS-MW, NHL.TV)
Video: Ullmark makes 41 saves, Sabres shut out Red Wings