Liriano (4-6) came close to tossing his second no-hitter of the season and had a perfect game after six innings. But Adrian Beltre's lead-off single to center field in the eighth inning spoiled the left-hander's attempt at history.
Instead, he ended up allowing one run on two hits, didn't issue a walk and struck out nine. He threw 64 of his 98 pitches for strikes in racking up only the second complete game of his six-year career.
Liriano, who threw the fifth no-hitter in Twins history against the Chicago White Sox May 3, came tantalizingly close to becoming only the sixth major league pitcher in history with two no-hitters in the same season.
Michael Cuddyer knocked a three-run home run and Luke Hughes chipped in with three hits as the Twins won for the ninth time in their last 11 games.
Texas starter Matt Harrison (5-6) yielded two runs (one earned) on five hits in six-plus innings.
The Rangers went down to their fifth defeat in seven games.
Boston schools pull out free condoms over wrapping complaints
Millions of Getty images now available for free via embed tool