Sale was born in Lakeland, Florida. He graduated from Lakeland Senior High School. After his senior year for the Dreadnaughts, Sale was drafted in the 21st round of the 2007 Major League Baseball Draft by the Colorado Rockies, but chose not to sign and instead attended Florida Gulf Coast University.
Sale played college baseball for the Florida Gulf Coast Eagles baseball team under head coach Dave Tollett. During the 2010 season at FGCU, Sale posted an 11–0 win–loss record and a 2.01 ERA over 17 games. Sale pitched 103 innings while recording 146 strikeouts and 14 walks. He led the NCAA in strikeouts at the end of the regular season. He was named the Atlantic Sun Conference Pitcher of the Year and the Collegiate Baseball Player of the Year. He is one of four Eagles to play in the major leagues, along with pitchers Jacob Barnes, Richard Bleier and Casey Coleman.
Like many top college players, Sale spent the NCAA offseason pitching in wooden bat summer leagues. In 2008, he was an All-Star for the La Crosse Loggers of the Northwoods League, and it was during his time in Wisconsin that coaches suggested he adopt his now distinctive low three-quarter arm angle. In the summer of 2009, Sale pitched for the Yarmouth-Dennis Red Sox of the Cape Cod Baseball League. He had a record of 4–2 and an earned run average of 1.47 with Yarmouth-Dennis, with 57 strikeouts as well. He was awarded the MVP in the Cape Cod All-Star Game.
Sale was drafted by the White Sox with the 13th overall selection in the 2010 MLB Draft. Once Sale signed with the White Sox in 2010, he was assigned to the White Sox' Class A affiliate Winston-Salem Dash. Sale pitched in four games for the Dash with a 2.25 ERA in four innings. Sale gave up three hits and one earned run while walking two and striking out 4 during his tenure with the Dash. Sale was then promoted to the White Sox triple-A affiliate Charlotte Knights. While there, Sale pitched in seven games for the Knights with a 2.84 ERA in 6.1 innings. Sale gave up three hits and two earned runs while walking four and striking out 15 while with the Knights.
Sale was called up to the majors for the first time on August 4, 2010, and made his MLB debut August 6, 2010, against the Baltimore Orioles in the 8th inning. He was the first 2010 draft pick to be promoted to the majors. He got his first major league save on September 1, 2010, against the Cleveland Indians. In 21 appearances in his rookie year, Sale went 2–1 with a 1.93 ERA, 32 strikeouts, and 4 saves.
During 2011, Sale made 58 appearances out of the bullpen with a 2–2 record, a 2.79 ERA, 8 saves, and 79 strikeouts.
Sale transitioned to a starting pitcher for the 2012 season. On May 28, 2012, Sale struck out a career high 15 batters in seven and a third innings during a 2–1 victory over the Tampa Bay Rays. Sale's 15 strikeouts are tied for second most in franchise history with Eddie Cicotte, Ed Walsh, and Jim Scott. Jack Harshman holds the White Sox team record with 16 strikeouts in a game. Sale was named the American League Pitcher of the Month for the month of May with a record of 4–1, ERA of 1.71, 35 strikeouts and a .181 opponents average over six games.
Sale was chosen by American All-Star manager Ron Washington to pitch in the 83rd All-Star Game in Kansas City. This marked Sale's first All-Star appearance.
During the 2012 season, Sale compiled a 17–8 record, a 3.05 ERA, and 192 strikeouts in 192 innings pitched. He ended up finishing sixth in voting for the AL Cy Young Award.
On March 7, 2013, Sale and the White Sox agreed on a five-year, $32 million contract with two option years depending on the team.
On May 12, 2013, Sale threw a one-hit shutout during a 3–0 Sox victory over the Los Angeles Angels of Anaheim. Sale took a perfect game into the seventh inning. With one out in the top of the seventh inning, Mike Trout singled up the middle for the only hit of the game. Sale finished the game with 7 strikeouts and no walks, allowing Trout as the only base runner. Sale began the 2013 season with a 6–8 record and a 2.85 ERA. He was named an All-Star for the 2nd season in a row. Sale came on to pitch for the 2nd and 3rd innings, allowing no hits, no runs, no walks and striking out two NL hitters. He was named the winning pitcher for the American League, which won the game 3–0.
In 30 starts of the 2013 season, Sale had an AL-leading 4 complete games, an 11–14 record, 226 strikeouts, and a 3.07 ERA in 214.1 innings pitched. He received one of the lowest run supports in the AL. Sale ended up finishing in fifth place in Cy Young votes for 2013.
On April 21, Sale was placed on the 15-day disabled list after sustaining a flexor strain in his left (pitching) elbow. During his first start off the disabled list against the New York Yankees on May 22, 2014, Sale retired the first 17 batters in a row before allowing a single by Zoilo Almonte. He struck out 10 in 6 innings pitched as the White Sox won the game 3–2. During a game against the Angels on June 7, 2014, Sale had a 5–0 lead but surrendered 5 runs all in the 7th inning that featured a grand slam by Mike Trout. Sale continued his dominance on the mound, winning eight of his first nine decisions and carrying a 8–1 record and 2.08 ERA into the All-Star break.
After not initially making the All-Star roster, Sale was voted into the game by fans (alongside Cubs first baseman Anthony Rizzo) as part of the "Final Vote." Sale joined all-star teammates Jose Abreu and Alexei Ramírez in the All-Star Game in Minneapolis.
Sale finished the season with a 12–4 record, 208 strikeouts in 174 innings pitched, and a 2.17 ERA, second best in the American League. He finished third in voting for the AL Cy Young award, behind winner Corey Kluber and Félix Hernández.
Sale started the 2015 year on the disabled list due to a foot injury. He returned on April 12, pitching 6 innings with 8 strikeouts in a 6–2 victory over the Minnesota Twins. During a game against the Kansas City Royals on April 23, 2015, Sale was warned by home plate umpire Sam Holbrook after hitting Mike Moustakas with a pitch. Later on, Sale was involved in a bench-clearing brawl after his teammate Adam Eaton grounded out to Yordano Ventura. Sale was one of five players to be ejected for his role in the brawl as the White Sox lost to the Royals 2–3 in 13 innings. On April 25, 2015, Sale was suspended for 5 games.
In a June 8 win over the Houston Astros, Sale struck out 14 batters. On June 19, Sale had his 5th consecutive game with 12 or more strikeouts tying a major league record. Also, on June 19, Sale had his 6th consecutive game with 10 or more strikeouts. On June 30 against the St. Louis Cardinals, Sale struck out 12 batters to tie a major league record with his eighth consecutive start of 10 or more strikeouts. He shares the record with Pedro Martínez, who accomplished the feat while pitching for the Boston Red Sox in 1999.
On October 2, versus the Detroit Tigers, Sale set the franchise record for number of strikeouts in a season. The previous record of 269 strikeouts in a season was held by Hall of Famer Ed Walsh in 1908. He accomplished the feat in 464 innings, while Sale's 270th strikeout came in the midst of his 203rd inning of 2015.
Sale began the 2016 season winning each of his first 9 starts. He entered the All-Star Break with a 14–3 record (12 quality starts), an ERA of 3.38, and a WHIP of 1.04. Kansas City Royals manager Ned Yost named him the starter for the 2016 Major League Baseball All-Star Game. In the All Star Game, Sale pitched one inning and gave up a home run to Chicago Cub Kris Bryant.
On July 23, Sale used scissors to destroy the team's throwback jerseys for a game while the team was taking batting practice. He was suspended 5 games for insubordination by the team on July 24.
On December 6, 2016, the White Sox traded Sale to the Boston Red Sox for Yoan Moncada, Michael Kopech, Luis Alexander Basabe, and Victor Diaz. Upon joining Boston, Sale switched his uniform number from 49 to 41 out of respect for Tim Wakefield.
Sale began the 2017 season by striking out 10 or more batters in 8 consecutive starts, tying the major league record shared by Sale himself and Pedro Martínez. After going 11–4 with a 2.75 ERA and an MLB leading 178 strikeouts in the first half of 2017, Sale was named the American League's starting pitcher at the All-Star Game for the second consecutive season, the first pitcher to do so since Randy Johnson started for the National League in 2000 and 2001 and the first for the AL since Dave Stieb in 1983–84. Sale pitched two scoreless innings in the game, striking out two batters. In his second start after the All-Star break, Sale joined Johnson, Martínez and Nolan Ryan as the only four pitchers to have struck out 200 batters in their first 20 starts (or fewer) of a season. Pitching against the Toronto Blue Jays on August 29, Sale recorded his 1,500th career strikeout, becoming the fastest to do so in terms of innings pitched.
Notes: Through 2016 season. Per Baseball-Reference.com.
Sale relies on three pitches — a fastball at 93–99 mph, a changeup at 79–83 mph, and a slider at 84–89 mph. The slider, which carries a career whiff rate of 43%, is Sale's most common 2-strike pitch to hitters from both sides of the plate.
Sale throws with a "funky" sidearm throwing motion. He is nicknamed The Condor because his unorthodox "inverted W" delivery in which both elbows are above his shoulders right before he steps into his pitch makes him resemble a California condor. His moniker was first coined on SB Nation's South Side Sox site on April 17, 2012.