For once, Buffalo Sabres coach Dan Bylsma couldn't complain about his team's lack of offense.

Anders Nilsson stopped 46 shots, plus three more in the shootout, to stymie the Sidney Crosby-led Pittsburgh Penguins.

And one goal in regulation, plus minor league call-up Cal O'Reilly's shootout tally, were just enough for the offensively challenged Sabres to pull out a 2-1 victory Saturday night.

"Well, it doesn't really matter at this point in time who it's against," Bylsma said. "But it's a win we desperately needed and against one of the better teams, if not the best team, in the league."

William Carrier scored in regulation for Buffalo, which hasn't scored more than twice in 10 straight games, dating to a 3-1 win at Winnipeg on Oct. 30.

In snapping an 0-4-2 skid, Buffalo's victory came on the heels of a 4-1 loss to Tampa Bay on Friday after which Sabres forward Evander Kane expressed frustration about his team's lack of offense. He sarcastically said Buffalo had become the joke of the NHL because opponents needed only two goals to beat them.

The difference on Saturday was the Penguins were unable to score twice.

It took Pittsburgh 31 shots before Crosby beat Nilsson with a power-play goal to tie the game with 14:14 remaining in regulation.

"It's just one of those games where you leave feeling like you deserve better," said Crosby, who scored his 12th of the season and the 350th goal of his career. "Ultimately, we have to find a way to bury a few chances. ... But he made some good saves. You have to give him credit."

Pittsburgh has alternated losses and wins over its past five games since a 9-2-2 start, and was coming off a 3-2 overtime win at the New York Islanders on Friday night.

The Penguins also lost to Buffalo for the first time in 10 meetings, since a 4-2 loss at Pittsburgh on April 23, 2013.

Nilsson was solid in making just his second start in 11 games, and first since a 41-save performance in a 2-1 overtime loss to New Jersey on Nov. 11.

Nilsson's toughest saves came during overtime.

A minute in, he kicked out his right pad to stop Phil Kessel's drive from the right circle. A few seconds later, Nilsson squeezed his right arm just in time to trap Trevor Daley's shot.

His best save came with 2:55 left in overtime, when he kicked out his left pad at the last moment to foil Kris Letang on a breakaway.

After stopping Crosby and Evgeni Malkin on Pittsburgh's first two shootout attempts, Nilsson sealed the win by stopping Letang's attempt to beat him through the legs.

"Obviously, they do have some very esteemed guys and some very good players in their lineup," Nilsson said. "I tried to be as patient as possible and let them make the first move and try to make the save. And today I got lucky and was able to do that."

O'Reilly scored on Buffalo's third attempt by breaking up the right wing before cutting to the front of the net and beating Marc-Andre Fleury with a snap shot to the glove side.

The goal came on the same day O'Reilly was called up from Buffalo's AHL affiliate in Rochester. And it wasn't lost on Bylsma that O'Reilly has an established reputation for being a shootout specialist.

O'Reilly has scored on six of 13 shootout attempts, with three of them game-deciding goals.

Fleury was otherwise solid in stopping 32 shots through overtime.

He was particularly sharp 2 minutes into the third period, when he got his glove up to stop Kane's shot from the left circle. Fleury then got across to his left to bat down Brian Gionta's off-balance shot from the slot.

NOTES: Crosby has 15 goals and 50 points in 32 career games against Buffalo. ... Penguins forward Patric Hornqvist missed his second game with a concussion. Coach Mike Sullivan said Hornqvist skated on his own earlier in the day, but there was no timetable yet for his return. ... Aside from O'Reilly, the Sabres recalled forward Cole Schneider from Rochester. O'Reilly was the AHL's scoring leader with 18 points (three goals, 15 assists), and Schneider was tied for second with 17 (seven goals, 10 assists). ... Linesman Greg Devorski officiated his 1,500th NHL game.


Penguins: Host the New York Rangers on Monday.

Sabres: Host the Calgary Flames on Monday.