Roark played one season with the Southern Illinois Miners of the independent Frontier League in 2008. In 3 games, he was 0–2 with a 21.41 ERA. In just 9.2 innings, he gave up 23 hits along with 25 runs while striking out 11. Roark was drafted by the Texas Rangers in the 25th round of the 2008 MLB draft. On July 31, 2010, he was traded, along with Ryan Tatusko, to the Washington Nationals in exchange for Cristian Guzmán. In 2011, he was promoted to Triple-A Syracuse, and posted, in 28 games an unremarkable 6–17 record, but he posted a 4.39 ERA with 7.9 strikeouts and 2.9 walks per nine innings. He began the 2012 season in Syracuse as a starter, then joined the bullpen for 20 relief appearances. Roark moved back to the rotation and had the best stretch of his career, allowing only 12 earned runs over innings in eight starts.
Washington Nationals
On August 6, 2013, Roark was called up to the MLB for the first time, and on the next day pitched two innings of scoreless relief, allowing only one hit. By the end of August he had appeared in nine games in relief, allowing earned runs only twice, and compiling an ERA of 1.19 over innings. On September 7 Roark made his first major league start against the Miami Marlins, pitching six innings, allowing no runs and four hits, no walks, and four strikeouts, getting the win. Roark's dominance continued with a September 17 start against the rival Atlanta Braves in which he pitched seven innings and allowed no runs on just three baserunners. His ERA dropped to 1.08 in innings. He finished 7-1 in 14 games. On April 26, 2014, Roark threw his first career complete game shutout, allowing only 3 hits in a 4–0 win over the San Diego Padres. In 31 starts, Roark finished 15-10 with a 2.85 ERA in innings. In 2015, Roark was shifted to the bullpen after the team acquired a few starting pitchers. In 40 games, Roark finished 4-7 with an ERA of 4.38 in 111 innings. The 2016 season saw Roark put back in the rotation and establish career bests in wins, ERA, innings and strikeouts. For the 2016 season he led the majors in giving up the lowest percentage of hard-hit balls. In 2017, Roark went 13-11 despite posting a career-worst 4.67 ERA in 32 games. He struck out 166 batters in innings. In 2018, Roark went 9-15 with a 4.34 ERA in innings.
Cincinnati Reds
On December 12, 2018, the Nationals traded Roark to the Cincinnati Reds for Tanner Rainey. On January 11, 2019, the Reds signed Roark to a one-year contract worth $10 million, avoiding arbitration. In 2019, Roark went 6-7 with a 4.24 ERA in 110.1 innings prior to being traded to the Oakland Athletics on July 31, 2019.
Oakland Athletics
On July 31, 2019, the Reds traded Roark to the Oakland Athletics for Jameson Hannah. In 2019, he allowed the highest line drive percentage of all major league pitchers.
On December 18, 2019, Roark signed a two year contract worth $24 million with the Toronto Blue Jays.
International Career
He was selected Team USA at the 2017 World Baseball Classic as a replacement for Max Scherzer. Roark pitched in relief versus the Dominican Republic, throwing 41 pitches over innings, allowing two earned runs. Roark started vs Japan in the 2017 WBC semifinals. Roark, who described it as the biggest start of his career, threw 48 pitches over four complete innings, allowing no runs. Under an agreement between Team USA and the Nationals, Roark was limited to no more than 50 pitches. Team USA defeated Japan 2-1 for their first win in WBC semifinal history. Team USA manager Jim Leyland praised Roark's performance post-game saying, "The key tonight, without question, was Tanner Roark."
Pitching style
Roark's main pitch is a sinker at 92 mph. Against right-handed hitters, he also features a slider at 85 mph. Against lefties he mixes in a curveball at 77 mph and a changeup at 82 mph. He also has a little-used four-seam fastball at 92 mph.