As a freshman, he pitched and played left field and was named Freshman of the Year in District 9AAA. As a sophomore, he suffered injuries and saw limited action during the season. As a junior, he led his team to the 2007 State Tournament with an 11–2 win-loss record and a 0.95 earned run average. This earned him a nod for the AFLAC All-American High School Baseball Classic, and a nomination for National Player of the Year. As a senior, he went 4–0 with a 0.79 ERA. However, he was injured in a district game in April 2008 that ended his season. He also excelled at the plate, batting over.500 his last two seasons at Smyrna, but instead opted to pitch in college. In addition to his success on the mound, he also played quarterback for Smyrna's football team, guiding them to back-to-back 5A State titles in 2006 and 2007. He was voted Gatorade Player of the Year by The Tennessean in 2007 and 2008 for his overall athletic success. Gray also was involved in other extra-curricular activities in high school. He starred as the lead character in his school's rendition of High School Musical on Stage! Having already made a verbal commitment to Vanderbilt University before Smyrna's state tournament run, he was drafted in the 27th round by the Chicago Cubs in the 2008 MLB Draft. He did not sign with the team.
Vanderbilt University (2008–11)
As a freshman for the Vanderbilt Commodores baseball team, he began as a relief pitcher, earning four saves before moving to a starter's role late in the season. He posted a 4.30 ERA, which he would improve upon in the next two years. He was designated as the ace of Vanderbilt's pitching staff in 2010 and 2011. In 2010, he went 10–5 with a 3.48 ERA, and led the team in strikeouts. Gray's junior year was his most successful, as he went 12–4 with a 2.43 ERA and 132 strikeouts. He also helped Vanderbilt earn their first-ever College World Series berth, making it to the semifinals and losing to national runner-up Florida.
Professional career
Oakland Athletics
Minor leagues
Gray was selected 18th overall by the Oakland Athletics in the 2011 MLB Draft. He elected to forgo his senior year at Vanderbilt, and signed with Oakland for a $1.54 million signing bonus. After he signed, the Athletics assigned Gray to the Midland RockHounds of the Class AATexas League. The next year, Gray began his season with Midland. There, he posted a 4.14 ERA before being promoted to the Sacramento River Cats of the Class AAAPacific Coast League, where he struggled in his only start. To start the 2013 season, Gray returned to the River Cats, where he posted a 2.81 ERA and was selected to start the Triple-A All-Star Game for the Pacific Coast League.
2013 season
On July 10, 2013, Gray was called up to replace Dan Straily, who had been optioned to Triple-A. He made his first major league appearance out of the bullpen, in relief of Jerry Blevins, against the Pittsburgh Pirates in Pittsburgh. Gray pitched two innings, tallying three strikeouts and allowing a single hit. He allowed neither a run nor a walk. Gray made a second relief appearance nine days later against the Los Angeles Angels of Anaheim but was then sent back down to the minors. Gray was recalled again by the Athletics on August 10, and made his first Major League start against Mark Buehrle and the Toronto Blue Jays in Toronto. This was supposed to be just a spot start in Tommy Milone's place in the rotation after Milone's struggles and subsequent option down to Triple-A Sacramento. However, Gray would later become a fixture in the A's rotation as the fifth starter. Gray's first Major League win came against Erik Bedard and the Houston Astros in his home debut. He pitched 8 shutout innings to earn a 5–0 win. On September 22, Gray pitched and won the AL West Division-clinching game against the Minnesota Twins in an 11–7 A's victory. He finished the regular season, going 5–3 in 12 games with a 2.67 ERA, striking out 67 in 64 innings. On October 5, Gray started Game 2 of the American League Division Series against Justin Verlander and the Detroit Tigers. In a no-decision effort, he pitched 8 scoreless innings before a 9th inning walk-off hit by Stephen Vogt resulted in a 1–0 Oakland win. In a surprise move, Gray was elected to start Game 5 over Bartolo Colón. Facing Justin Verlander, Gray pitched 5+ innings, giving up 6 hits and 3 runs, getting the loss in the 3–0 game.
2014 season
Despite not having previously been on an Opening Day roster, Gray made his first career Opening Day start on March 31 against the Cleveland Indians. He started the season 4–1 with a 1.76 ERA, while also recording his first complete game shutout, and 37 strikeouts in 41.0 innings pitched over six starts in April. For his early success, he was named AL Pitcher of the Monthfor the first time in his career. He would later go on to win AL Pitcher of the Month for July, as well. On the final day of the regular season, Sonny clinched the Athletics' third consecutive playoff spot with a complete game win on the road against the Texas Rangers. The A's would go on to lose the 2014 AL Wild Card Game to the Kansas City Royals in extra innings.
2015 season
Gray was tabbed for a second straight Opening Day start for the Oakland Athletics on April 6 against the Texas Rangers. He pitched eight innings and allowed only one hit, holding the Rangers hitless until the eighth inning. Gray continued his success through mid-July, as he held a 10–3 record and a 2.04 ERA at the All-Star Break. He was selected to his first All-Star Game. He did not appear in the All-Star Game because he had started for the Athletics on the Sunday before the game. Gray finished the season 14–7 with a 2.73 ERA. He finished third in the American League Cy Young Award voting, behind winner Dallas Keuchel and David Price.
2016 season
Gray failed to improve on his successful 2015 season, suffering multiple setbacks that twice landed him on the disabled list. He finished the season with a 5–11 record with a 5.69 ERA.
New York Yankees
2017 season
On July 31, 2017, the Oakland Athletics traded Gray to the New York Yankees in exchange for Dustin Fowler, Jorge Mateo, and James Kaprielian. The Yankees would advance to the ALCS after overcoming a 2–0 series deficit against the Cleveland Indians in the ALDS. New York would go on to lose the ALCS in 7 games to the eventual World Series champion Houston Astros.
2018 season
Gray struggled with his starts throughout his tenure as a starter in 2018, eventually losing his rotation spot to newly acquired teammate Lance Lynn after giving up seven runs in innings to the Baltimore Orioles on August 1. Although his road ERA was a respectable 3.62, his ERA at Yankee Stadium was inflated at 7.71 and his total record as a Yankee prior to his demotion to the bullpen was 12–15 and a 4.85 ERA.
Cincinnati Reds
On January 21, 2019, the Yankees traded Gray and Reiver Sanmartin to the Cincinnati Reds for Shed Long and a competitive balance draft pick in the 2019 MLB draft. The trade reunites him with pitching coach Derek Johnson, his head coach in Vanderbilt, and catching partner Curt Casali. Gray signed a three-year contract extension with the Reds prior to the trade. The Yankees then traded Long to the Seattle Mariners for Josh Stowers. After a relatively disappointing tenure with the Yankees, Gray bounced back his first year with the Reds. Going 11-8 with a 2.87 ERA, 1.084 WHIP, and a career best 10.5 K/9, Gray placed 7th in the NL CY Young Award voting. Also, just days before the All-Star Game, Gray was named a replacement for Max Scherzer. This was Gray's second All-Star nomination and first since 2015.
Pitching style
Gray's pitch repertoire includes a four-seam fastball at 91–95 mph, a slider at 84–88 mph, a curveball at 79–83, a cutter/two seam fastball at 89–92, and a changeup at 86–88.
Personal life
Gray and his wife Jessica were married on November 12, 2016. The couple have two sons.