There is finally joy in Crudville.

Just when it appeared the Mets would never win another game, their lineup rose to the challenge for a day against a premier pitcher.

And so, the Mets rolled to a 5-2 victory over Adam Wainwright and the Cardinals at Busch Stadium yesterday, snapping a six-game losing streak to avoid getting swept four games in the series.

“It was a step in the right direction,” Jon Niese said after his best performance of the season.

The offensive production was the story. Daniel Murphy led the 11-hit attack with a 4-for-4 performance, allowing the Mets to overlook Ike Davis’ 0-for-5 with four strikeouts that extended his hitless streak to 22 at-bats.

With ace Matt Harvey set to pitch today against the Cubs, the Mets (15-23) will arrive at Wrigley Field with at least a shred of momentum.

“This is exactly what we said at the beginning of the year, with Jon and Matt going behind each other that you can start a streak,” manager Terry Collins said. “Certainly we need a game out of Matt and get that streak going.”

Niese (3-4) pitched 7 1/3 innings in which he allowed two earned runs on six hits with two walks and three strikeouts. It was the lefty’s first victory since defeating the Twins on April 12. Niese credited an extended bullpen session with pitching coach Dan Warthen on Monday helping him regain the proper arm slot. Niese hit 93 mph on the radar gun yesterday for his best velocity of the season, according to Collins.

For a change, the Mets provided their starting pitcher a cushion. David Wright’s RBI double against Wainwright in the sixth and Lucas Duda’s sacrifice fly later in the inning gave the Mets a 4-1 lead — marking just the second time in 10 games the team scored more than three runs. The Mets had gone 10 games without scoring as many as five runs.