He was a pitcher over parts of seven seasons (1969–1974, 1977) with the New York Mets, Kansas City Royals, Pittsburgh Pirates, Cleveland Indians and Atlanta Braves.
Johnson was traded along with Jackie Hernández and Jim Campanis from the Royals to the Pirates for Freddie Patek, Bruce Dal Canton and Jerry May at the Winter Meetings on December 2, 1970.
He out-dueled Juan Marichal at Three Rivers Stadium, pitching eight innings and allowing only one unearned run for the win.
Johnson did not fare as well in the World Series, losing Game 2 at Memorial Stadium against the Baltimore Orioles.
An alumnus of Bradley University, for his career he compiled a 28–34 record with a 3.48 ERA and 507 strikeouts in 183 appearances, including 76 starts, 18 complete games, two shutouts, 12 saves and 6921⁄3 innings pitched.