PHILADELPHIA — The Mets have proved proficient at manufacturing controversies, angst about their fragile arms, and a temptation for fans to grab televisions and fling them across living rooms.

But manufacturing runs? Not so much, at least this season.

The Phillies essentially dared the Mets to do so on Saturday, presenting ample opportunities for one of the worst situational hitting teams in baseball to score without swatting a ball over the fence. In a 4-2 loss, the Mets fell short.

Sure, they scored both of their runs without hits, by virtue of sacrifice flies from Jose Reyes and Travis d’Arnaud. With less than two outs, the Mets moved runners to third base on a grounder to the right side and a sacrifice bunt by pitcher Logan Verrett.

Even the staunchest fundamentalists had to smile.

But small ball couldn’t mask the Mets’ season-long deficiencies in situational hitting, which only become more visible when they don’t hit homers.

When it came time to do damage, the Mets fizzled, then allowed the go-ahead run to score in the seventh. The rally began on an errant throw by shortstop Asdrubal Cabrera and he also faltered when the Mets needed a big hit.

With the scored tied at 2 in the seventh, d’Arnaud led off with a double, then got caught in a rundown when pitcher Edubray Ramos collected Brandon Nimmo’s comebacker and fired to second. D’Arnaud was initially called out, but it was overturned on review.

Juan Lagares, who had doubled earlier, bunted the runners to second and third.

Pinch hitter Kelly Johnson hit a fly ball to leftfield that was too shallow for d’Arnaud to tag.

Jose Reyes walked to load the bases for Cabrera, who flied out to left. He is hitless in his last 26 at-bats with runners in scoring position.

One inning after Carlos Ruiz was thrown out at home trying to score on an infield hit by starter Jerad Eickhoff, the Phillies pushed ahead. Of course, it came with the help of the Mets.

Cabrera fired wildly after fielding Peter Bourjos’ one-out grounder to short. Two batters later, Maikel Franco’s single to center scored Bourjos. In the eighth, the Phillies tacked on an insurance run, this time with Ruiz scoring from third on a wild pitch by Erik Goeddel.

Verrett had at least given the Mets a chance, allowing two runs over six innings. He hung a slider to Ryan Howard in the second inning, giving the slugger his 46th career homer against the Mets, fifth all-time. In the fifth, Cody Asche’s groundout scored Eickhoff, who began the inning with a double.

The damage could have been worse for Verrett, who is in the rotation due to Matt Harvey’s season-ending surgery for thoracic outlet syndrome.

Verrett, who began the night 1-4 with a 5.64 ERA in six starts, allowed eight hits and his ERA dropped to 4.21. He also wasn’t as wild as his last outing when he walked five Nationals in 6 2⁄3 innings. Saturday night, he walked just one and hit another.

But there were moments in which command escaped him. In those times he revealed the drop-off in a rotation that hopes to survive a rash of injuries.

In his final inning, Verrett plunked Ruiz after getting ahead, 0-and-2. He also was ahead of Freddie Galvis 0-and-2, only to throw a careless slider that was slapped to center for a hit.

Verrett fell behind the pitcher, 3-and-1, before the single to short that resulted in Ruiz being thrown out at the plate.

But unless they suddenly trust an unproven arm (Gabriel Ynoa), or go with another steady but unspectacular commodity (Sean Gilmartin), or swing a trade to pluck a starter from a thin market, the Mets must stick with Verrett.

“At this point,” manager Terry Collins said before the game, “what we don’t have are a lot of options.”