Undrafted after his junior year of college, Johnson signed a free agent contract with the Tampa Bay Rays on June 24, 2010, after being noticed by a scout at a local American Legion exhibition game.[2] He played for the GCL Rays in 2010.[3] He was released by the Rays on April 20, 2011.[3]
Johnson was released by Arizona after the 2013 season, and again played for Traverse City to start the 2014 season. He signed a minor league contract with the Minnesota Twins on July 28, 2014 and remained in their system through the 2015 season.[3] He played for the Fort Myers Miracle and the Chattanooga Lookouts while with the Twins.[3]
Los Angeles Angels
Johnson signed a minor league contract with the Miami Marlins on November 24, 2015, but was selected by the Los Angeles Angels in the Triple A phase of the Rule 5 draft on December 10.[4] He made 47 appearances for the Double–A Arkansas Travelers in 2016, compiling a 4.02 ERA with 67 strikeouts and 6 saves across 69+1⁄3 innings pitched.[3] Johnson elected free agency following the season on November 7, 2016.[5]
On September 21, 2020, Johnson was traded to the Tohoku Rakuten Golden Eagles in exchange for cash. In 16 appearances for the Eagles, he logged a 3.07 ERA with 16 strikeouts. On December 2, 2020, Johnson became a free agent.[12]
Cleveland Indians
On February 2, 2021, Johnson was signed by the Cleveland Indians to a minor league contract.[13] He began the 2021 season with the Columbus Clippers, the Indians' Triple-A affiliate.
On July 7, 2021, Johnson was selected to the 40-man roster and added to the Indians’ active roster.[15]
Tampa Bay Rays (second stint)
On July 30, 2021, Johnson was traded to the Tampa Bay Rays along with Jordan Luplow in exchange for Peyton Battenfield.[16] On August 16, Johnson was placed on the 60-day injured list with a sprained right shoulder, with manager Kevin Cash noting that he would miss "significant time."[17] On November 5, Johnson was outrighted off of the 40-man roster and elected free agency.[18]
High Point Rockers
On January 11, 2024, after two years of inactivity, Johnson signed with the Leones de Yucatán of the Mexican League.[19] However, he was released prior to the start of the LMB season on April 1.[20]
On August 30, 2024, Johnson was traded to the York Revolution of the Atlantic League of Professional Baseball.[22] In 5 games for the Revolution, he struggled to a 24.55 ERA with 4 strikeouts over 3+2⁄3 innings of work. With York, Johnson won the Atlantic League championship.[23]
Personal life
After the 2016 season, Johnson was not offered a contract by the Angels, and he worked at a lumber yard that offseason before being signed by the Rockies.[6]