After debuting with the Rangers in September 1976, Barker spend the next three seasons only intermittently sticking in rotations with Texas and Cleveland before going 19-12 with a gaudy 4.17 ERA and a league-high 187 strikeouts for the Indians in 1980. He came into his start on May 15 against the Blue Jays in Cleveland on a roll, having allowed just two runs while striking out 23 over his previous three outings. In front of just 7,290 fans at Municipal Stadium, with the temperature just 49 degrees at first pitch, the 25-year-old righty heated things up with his 96 mph fastball, striking out 11 Toronto hitters without allowing a baserunner. Said his 92-year-old grandmother after his perfect game, "I'm very proud of him. I hope he does better the next time."
After the seven-week players' strike, Barker went on to make the All-Star team for the only time in his career and he again led the AL in strikeouts, although his 3.91 ERA amounted to just a 94 ERA+. He set a career best the following year (3.90 ERA, 106 ERA+) while going 15-11, but from 1983 to '87, he was cuffed for a 4.88 ERA while going 20-34 and failing to live up to a five-year, $4 million contract he signed with Atlanta after being acquired for their stretch run in 1983. He last pitched in the majors for the Brewers in 1987.