Heaney attended Putnam City High School in Warr Acres, Oklahoma, where he played for the school's baseball team. He was selected by the Tampa Bay Rays in the 24th round of the 2009 Major League Baseball Draft, but did not sign, opting to enroll at Oklahoma State University, where he played college baseball for the Oklahoma State Cowboys, competing in the Big 12 Conference of the National Collegiate Athletic Association's (NCAA) Division I. In the summer of 2011, he pitched in collegiate summer baseball for the Falmouth Commodores of the Cape Cod Baseball League.
In 2012, Heaney's junior season, he pitched to an 8-2 win–loss record and a 1.60 earned run average in 118 1⁄3 innings pitched. He led all NCAA pitchers with 140 strikeouts. Heaney was named Big 12 Conference Baseball Pitcher of the Year in 2012. Heaney was a unanimous All-America selection, being named a first-team All-American by Baseball America, Collegiate Baseball, the American Baseball Coaches Association, and the National Collegiate Baseball Writers Association.
The Miami Marlins drafted Heaney in the first round of the 2012 Major League Baseball Draft. Heaney was the ninth overall selection and received an estimated $2.6 million signing bonus.
Heaney began the 2013 season with the Jupiter Hammerheads of the Class A-Advanced Florida State League, and was promoted to the Jacksonville Suns of the Class AA Southern League in August. Between Jupiter and Jacksonville, he amassed a 34 inning scoreless streak. Heaney began the 2014 season with Jacksonville, and was promoted to the New Orleans Zephyrs of the Class AAA Pacific Coast League in May. In his Class AAA debut, he faced the Oklahoma City Redhawks and went five innings, allowing one run on seven hits while adding seven strikeouts and no walks. He took a no decision.
Heaney made his Major League debut on June 19, 2014, against the New York Mets. In his debut, Heaney went six innings and allowed one run while striking out three batters. He took the loss in a 1-0 game.
On December 10, 2014, the Marlins traded Heaney to the Los Angeles Dodgers, along with Chris Hatcher, Austin Barnes, and Enrique Hernández, in exchange for Dan Haren, Dee Gordon, and Miguel Rojas. Five hours later, he was traded to the Los Angeles Angels, in exchange for Howie Kendrick. Heaney thanked the Dodgers for their short time together, tweeting, "Well, @Dodgers we had a good run! Great to be a part of such a storied franchise. #thanksforthememories".
After some injuries to the starting rotation, Heaney was called up and made 18 starts for the Angels. He went 6-4 in 105 innings while displaying an excellent strikeout to walk ratio of 2.79 for Anaheim. In 2016, Heaney made the Angels opening day rotation as their #2 starter. In what turned out to be his only start, after allowing 4 runs in 6 innings, Heaney left the game. After the game, Heaney felt discomfort in his elbow, he was immediately placed on the disabled list. On April 30, Heaney received a platelet rich plasma injection in his left elbow, sidelining him for 6 weeks. On June 28, Heaney underwent evaluations on his elbow and found no improvement, pushing back his return even further. On July 1, Heaney underwent Tommy John surgery and missed the remainder of the 2016 season. Heaney would finish his 2016 season with an ERA of 6.00.
Heaney throws three pitches: a four-seam fastball that averages 92 miles per hour (148 km/h) and can touch 95 miles per hour (153 km/h), a curveball at 80 miles per hour (130 km/h), and a changeup at 84 miles per hour (135 km/h).