Heston's professional career got off to a rocky start with a 1–5 record and 4.11 ERA in the rookie Arizona League in 2009. In 2010, he finished 5–13 with a 3.75 ERA with the Single-A Augusta GreenJackets. With the Class A-Advanced San Jose Giants in 2011, he improved to 12–4 with a 3.16 ERA and 131 strikeouts. With the Double-A Richmond Flying Squirrels in 2012, he finished 9–8 with a 2.24 ERA, the second-lowest ERA in Flying Squirrels' franchise history. He earned a spot in the Eastern League All-Star Game and was named Eastern League Pitcher of the Year. Heston was added to the Giants' 40-man roster on November 20, 2012. He was optioned to AAA Fresno on March 2, 2013, and struggled to a 7–6 record and 5.80 ERA. He was designated for assignment on July 13 to clear a roster spot for Jeff Francoeur and released on July 21. He was re-signed by the Giants to a minor league contract on July 24. In 2014, Heston improved to 12–9 with a 3.38 ERA in Fresno and was re-added to the 40-man roster in September 2014.
San Francisco Giants
2014
Heston made his Major League debut with the San Francisco Giants on September 13, 2014, in the ninth inning against the Los Angeles Dodgers where he pitched a scoreless inning. He eventually appeared in three games, including one start, and pitched five and one-third innings with a 5.06 ERA. The Giants clinched a wild card spot with an 88–74 record and eventually won the 2014 World Series, their third championship in five seasons. Heston did not participate in any postseason activity but received his first championship ring for his regular season contributions.
2015
Heston was slated to start the 2015 season in AAA Sacramento, but was called up on April 7 to replace the injured Matt Cain. He got his first MLB win in his second start for the Giants on April 8, 2015, defeating the Arizona Diamondbacks 5–2 and throwing 6 innings. Heston gave up two runs, neither earned, but had five strikeouts gaining the win. On May 12, 2015, Heston pitched a complete game against the Houston Astros, allowing only two hits and one run, with 10 strikeouts and no walks. Heston was the first Giants rookie to throw a complete game with at least 10 strikeouts since Roger Mason on October 4, 1985, and the first Giants rookie with double-digit strikeouts since Tim Lincecum on July 1, 2007. On June 9, 2015, Heston no-hit the New York Mets 5–0 at Citi Field, becoming the 22nd rookie pitcher since 1900 to throw a no-hitter in a major-league regular-season game. He struck out 11 and walked none; the only 3 runners to reach base were hit by a pitch. Heston closed his no-hitter with three strikeouts in the 9th inning, a feat last accomplished by Sandy Koufax in his perfect game in 1965 against the Chicago Cubs. He also became the first pitcher to no-hit the Mets in a Mets' home game since Pittsburgh's Bob Moose no-hit them at Shea Stadium in 1969. Heston's three hit by pitch batters in his no-hitter were the most since 1914, and has Heston as the fourth MLB pitcher since 1914 to have all of his base runners in his no-hitters be batters hit by a pitch. In the same game, Heston logged his first career RBIs with a two-run single. For his efforts, Heston was honored his first career National League Player of the Week Award as well as the key to the city by the mayor of Palm Bay, Florida. On July 23, 2015, Heston carried a no-hitter into the sixth inning against the San Diego Padres, ultimately allowing only one hit and no runs in 7 innings pitched. The 9–3 victory over the Padres was Heston's 10th win, making him the first Giants rookie to reach 10 wins since Matt Cain in 2006. Heston was optioned to Triple-A Sacramento on August 21, 2015 to make room for recently acquired outfielder Marlon Byrd. Later on August 28, 2015 he was recalled from Triple-A Sacramento since Matt Cain was placed on the disabled list. Heston finished the season with a 12–11 record, 3.95 ERA, and 141 strikeouts in 177 innings pitched. In 2015 he shared the major league lead in hit batsmen, with 13.
2016
Heston started the 2016 season in the Giants' bullpen. He was optioned down to Triple-A after four appearances, and spent the rest of the season in the minors or on the disabled list.
On May 26, 2017, he was claimed off waivers by the Los Angeles Dodgers.
Minnesota Twins
Heston was claimed off waivers by the Minnesota Twins on June 7, 2017. He was outrighted to AAA on June 16, 2017, when they purchased the contract of Adam Wilk. He elected free agency on November 6, 2017.
Second stint in San Francisco
On January 24, 2018, Heston signed a minor league contract to return to the San Francisco Giants. He was released by the organization on July 27, 2018.