The Astros bullpen was miserable until the second week of May, when it morphed into the best anywhere. It was an unexpected, and in many ways unrealistic transformation.

The real ability of the Astros’ bullpen likely lies somewhere — well, you know.

The relievers barely held on Friday in a 5-4 win over the Twins. ‘Stros starter Dallas Keuchel threw six shutout innings, another worthy night for a pitcher who could return to Target Field in July as an American League All-Star.

His back-up squeaked by.

Charged with a 5-0 lead in the seventh inning, Astros lefty Tony Sipp allowed a home run for a second straight outing, falling back to earth quickly. Danny Santana, a Twins rookie playing in his 20th game and hitting very well, hit the first home run of his career off Sipp to cut the lead to 5-3.

“It’s all part of the game,” manager Bo Porter said of Sipp’s rough patch. “He had a great streak there where he was pretty much unhittable. … He left a couple of those pitches up.”

In the eighth, Jerome Williams allowed back-to-back doubles — there would have been one earlier in the inning were it not for Dexter Fowler’s diving catch in the left-center field gap — to make it 5-4.

Porter said Fowler’s catch might have been the night’s best play.

“When it was hit, I was like, ‘I got to go a long way for that,’ so I just put my head down and ran,” Fowler said.

Williams’ ERA is 5.50, and he was bailed out by Darin Downs, who recorded the final out of the eighth.

Chad Qualls, the Astros’ closer, didn’t have a quiet ninth. Second baseman Jose Altuve’s dive to his right robbed Santana of leadoff single.

Third baseman Matt Dominguez made his second throwing error of the night with two out and Joe Mauer at the plate. Josh Willingham’s fly out to left ended it after Mauer stole second base.

As for the hitting, the young Astros thrived Friday in an area they have all season: fastballs.

Want to beat the ‘Stros? Stop with the heaters and force feed them sliders.

Too bad for Twins starter Phil Hughes — he stopped throwing a slider ahead of this season.

Hughes allowed a season-high five runs. He allowed three home runs, too, entering the night with just four allowed all year.

All three of the long balls came on fastballs.