Finnegan attended Southwest High School in Fort Worth, Texas. He was drafted by the Texas Rangers in the 45th round of the 2011 Major League Baseball Draft, but did not sign and attended Texas Christian University. As a freshman in 2012, he pitched in 23 games with 11 starts. He finished the season 4–5 with a 3.47 earned run average with 56 strikeouts in innings. As a sophomore in 2013 he pitched in 16 games with 15 starts, going 0–8 but with a 3.18 ERA and 86 strikeouts in innings. After the 2013 season, he briefly played collegiate summer baseball with the Falmouth Commodores of the Cape Cod Baseball League, and also pitched for the United States collegiate national team. After not winning a game during his sophomore season, he earned a victory in his first start of his junior season in 2014. During the season, he missed a few starts due to a minor injury. He finished the year 9–3 with a 2.04 ERA and 134 strikeouts in innings.
Finnegan was considered a top prospect for the 2014 Major League Baseball Draft. The Kansas City Royals selected Finnegan in the first round, 17th overall, of the draft. He signed with the team on June 28. Finnegan was called up to the majors for the first time on September 1, 2014 becoming the first player from the 2014 Draft to be promoted to the majors. He made his major league debut on September 6 against the New York Yankees. He struck out Jacoby Ellsbury for his first Major League strikeout. He earned his first major league hold on September 22 by pitching a scoreless seventh inning against the Cleveland Indians. He made his MLB postseason debut in the American League Wild Card game vs the Oakland Athletics on September 30, 2014. He pitched innings, allowing one earned run while striking out three in the extra innings victory. On October 3, 2014, in the second game of the 2014 American League Division Series, Finnegan came in relief and picked up the 4–1 win, becoming the youngest relief pitcher in Royals postseason history to log a win. Finnegan became the first player to play in a College World Series and an MLB World Series in the same year when he took the mound in the seventh inning of Game 3 of the 2014 World Series against the San Francisco Giants. Finnegan took the loss in Game 4, allowing five runs in one inning of work. In 2015, Finnegan began the season with the Omaha Storm Chasers of the Class AAAPacific Coast League, working as a starting pitcher. During the season, the Royals promoted him to the major leagues, shifting him between the starting rotation and bullpen.
Cincinnati Reds
On July 26, 2015, Finnegan was traded to the Cincinnati Reds, along with John Lamb and Cody Reed, for Johnny Cueto and cash considerations. Although Finnegan was traded from the 2015 World Series Champion Kansas City Royals, Finnegan was awarded a World Series ring for his contributions before the trade. After the trade, he pitched for the Louisville Bats of the Class AAA International League as a starting pitcher and was promoted to the Reds on September 1 as a relief pitcher. Finnegan began the 2016 season pitching out of the rotation for Cincinnati, opening as the team's second starter behind Raisel Iglesias due to a plethora of injuries. In 5 starts in April, Finnegan went 1–1 with a 3.86 ERA, striking out 23 and walking 15 in 28 innings. In 6 starts in May, Finnegan went 0–3 with a 4.37 ERA, striking out 21 and walking 16 in 35 innings. However, in one of his losses, Finnegan threw a complete 8 innings against the Los Angeles Dodgers, giving up one run and losing to Clayton Kershaw's two-hit shutout. He finished the 2016 season with a 10-11 record and a 3.98 ERA in 31 starts. Finnegan began the 2017 season in the Reds rotation, but on April 15, he was placed on the disabled list with a shoulder injury. On June 26, he was activated off the disabled list. However, on June 27, in his first start back off the disabled list against the St. Louis Cardinals, he re-injured his shoulder and had to leave the game. He was put back on the DL the next day. He finished the year with 4 starts and was 1-1 with a 4.15 ERA in 13 innings. He was designated for assignment on March 28, 2019. On April 2, 2019, he cleared waivers and was outrighted off the 40 man roster.