In the end it worked out, with Twins outfielder Josh Willingham lining a home run in the eighth inning Monday night to propel the Twins to a 4-3 victory over Cleveland and snap their three-game losing streak.

The only unfortunate thing was that lefthander Kris Johnson was leaving Target Field and heading back to Class AAA Rochester without a game ball for his first major league win.

Johnson worked out of a jam in the fifth inning before leaving with a 3-2 lead and eligible for victory No. 1. With the Twins’ reliable bullpen now activated, Johnson was set up to celebrate.

“It does creep into your mind a little,” said Johnson, 29, who made his seventh career appearance and fourth start.

The Indians threatened in the seventh inning when Jason Kipnis singled with one out, stole second and went to third on Caleb Thielbar’s throwing error. Thielbar rebounded to strike out Chris Dickerson. Jared Burton came on to strike out Yan Gomes to end the threat.

But Michael Brantley hit a pinch-hit double off Casey Fien with one out in the eighth. Roberto Perez then singled up the middle, scoring Brantley with the tying run. The starting pitching? It has been inconsistent. The offense? It routinely leaves runners on base.

Not the bullpen, the strongest part of the team. And not Fien, who easily leads the team with 15 holds.

“A two-seamer right back over the middle of the plate,” Fien said. “I didn’t even know I threw a two-seamer.”

That gave Johnson a no-decision.

“[Johnson] pitched five solid innings and deserves the win,” Fien said. “My job is to go out there and get three outs. I got it, but I gave up a run.”

The Indians opened the eighth inning with Bryan Shaw, owner of a cut fastball with ridiculous movement. On a 3-2 count, he chose to throw a slider that came over the middle of the plate, and Willingham bashed it barely into the left-field seats. He has three RBI in the past two games.

“We were all blowing real hard in the dugout for the ball to get out in left field,” Twins manager Ron Gardenhire said.

Glen Perkins pitched a 1-2-3 ninth to earn his 23rd save.

The Twins took a 2-0 lead in the second on Kurt Suzuki’s two-run double to right-center. Dickerson drove in Cleveland’s first run with a single to right. Trevor Plouffe added an RBI double in the third, giving the Twins a 3-1 lead.

Johnson struck out the side in the first but labored after that. He got the first two outs in the fifth, but give up a walk and an RBI double to Gomes to make it 3-2. Gardenhire left Johnson on the mound so he could get out of the inning and qualify for the win.

“A lot of pitches in five innings [91],” Gardenhire said. “He didn’t attack like we hoped he would. First inning was good, but after that he kind of picked around the zone.”

Johnson left the mound thinking he had a chance for that elusive victory. He ended up with a no-decision and a trip to Rochester. Now he has to wait for another chance.

“It’s the end result,” Johnson said. “The Twins got a victory that counts. Mine will maybe come later, maybe not, you never know. It’s the Twins’ victory that counts the most.”