MINNEAPOLIS - Francisco Liriano was six outs from his second no-hitter of the season, when a long delay during the bottom of the seventh inning derailed his feat.

The Minnesota Twins didn't mind. They're just happy to have the dominant Liriano back.

Liriano sat in the dugout for nearly a half-hour before Adrian Beltre led off the eighth with a clean single.

He allowed only three baserunners Sunday and pitched the Twins past the Texas Rangers 6-1.

"Everything was working for me," Liriano said.

Liriano (4-6), who held the Chicago White Sox hitless in a wild effort May 3, was perfect through the sixth against the high-scoring Rangers. He needed 64 pitches to retire the first 18 batters.

"I felt better today. Way better," Liriano said, comparing this to his no-hitter.

Elvis Andrus was the first Texas player to reach base, on rookie third baseman Luke Hughes' fielding error with one out in the seventh on a play that could have been ruled a hit.

The Twins then scored five times in the bottom half after an injury to Rangers starter Matt Harrison, an inning that took 29 minutes.

When the lefty returned to the mound, he fell behind 3-0 before Beltre hit a hard single to left-center field.

Still, Liriano matched a season high by striking out nine in eight innings, allowing two hits without a walk.

"We were really worried when he went back out there, but what a performance by him," Twins manager Ron Gardenhire said.

Liriano was almost the first Twins pitcher to throw nine-inning no-hitters in the same season. Dean Chance had a pair of hitless performances in August 1967, though the first one was a five-inning game.

After Harrison (5-6) left, struck on his left triceps muscle by Danny Valencia's line drive leading off the seventh, reliever Mark Lowe was given extra time to warm up. Then the Twins sent 10 batters to the plate, including Michael Cuddyer's three-run homer.

After Beltre's hit, Liriano struck out Nelson Cruz but gave up a single to Yorvit Torrealba that spoiled the shutout. Liriano drew a loud ovation from the sellout crowd after finishing the inning.

"I got a little bit nervous in the eighth inning," he said. "I got behind in the count, and I had to throw a fastball."

Harrison wasn't bad himself, allowing five hits and two runs - one earned - while walking three and striking out three through six innings. But Liriano had a perfect game until one out in the seventh.

The fast-footed Andrus hit a slow bouncer that hugged the line and Hughes, playing third base in the majors for only the fifth time in his career, tried to make a backhanded play. The ball went under his glove and glanced off his knee into foul ground, and Andrus took second. Official scorer Gregg Wong ruled the play an error on Hughes.

"That's the last thing you want to do, drop-kick a ball nearly into the dugout, but he did a great job," Hughes said.

Hughes had three hits, including an RBI single in the first inning, and made one of three deft plays by the Twins defense earlier in the game to save potential hits.