As a shortstop/pitcher, Harrell led Ozark High School to its first state championship in 2004 over Mary Institute and the Saint Louis Country Day School. That same year Harrell went 10–1 with a 1.09 ERA. Harrell had three hits in the State Championship game against MICDS. In the semi-final game at the state championship, Harrell was 2–3 with a double and go-ahead home run to lead off the 6th inning. He also threw a complete game as Ozark scored a 2–1 victory over nationally ranked Sikeston, Missouri. Harrell also played on the Ozark state championship basketball team in 2003.
Professional career
Chicago White Sox
Harrell was drafted out of high school by the Chicago White Sox in the 4th round of the 2004 Major League Baseball draft. Harrell began his professional career for the Rookie LeagueBristol White Sox in. Making 9 starts in 13 appearances, he had a 3–5 record with a 5.59 ERA. In 2005, Harrell advanced to the Single-A Kannapolis Intimidators. He went 7–11 with a 3.65 ERA. His 26 starts and 11 losses led the Intimidators, was tied for 3rd on the team in wins, and was third on the team in strikeouts. In, Harrell split the season between the Single-A Winston-Salem Warthogs and the Double-A Birmingham Barons. Making a combined 20 starts, he went 7–4 with a 3.18 ERA. Harrell was also a Carolina League midseason All-Star. In 2007, Harrell missed the entire season following right shoulder surgery. On November 20, 2007, the White Sox purchased Harrell's contract, protecting him from the Rule 5 draft. Harrell made his MLB debut on July 30, 2010, pitching six innings and allowing only one run in a 6–1 win over the Oakland Athletics and immediately returned to the Triple-ACharlotte Knights. On May 29, 2011, Harrell was recalled to take the spot of Tony Peña, who was placed on the 15-day disabled list.
Houston Astros
Harrell was claimed off waivers by the Houston Astros on July 8, 2011. His first start with the Astros was on September 2 against the Brewers. He finished the 2011 season with a 4.50 ERA, 15 strikeouts, a 0–2 record, and a 1.72 WHIP. On April 2, 2012 Harrell was declared a starting pitcher in the team's Opening Day rotation. In his first start of the season, he threw seven scoreless innings and allowed three hits while striking out four against the Colorado Rockies. Harrell also got his first major league hit, a bunt that hugged the third-base line and stayed fair. On June 27, 2012 he recorded his first shutout and complete game in a 1–0 win over the San Diego Padres. Not since Taylor Buchholz in 2006 had an Astros rookie pitcher recorded a shutout. Harrell finished with team bests in wins, innings pitched, ERA and in WHIP. In 2013, Harrell pitched poorly throughout the season. At one point he was demoted to the bullpen but was placed back in the rotation by the end of the season. Harrell finished with a league high 17 losses accompanied by a 5.86 ERA in 36 games. He also finished with a league high 88 walks. On April 16, 2014, the Astros designated Harrell for assignment. He was outrighted to the minor leagues on April 22.
On April 28, 2014 the Astros traded Harrell to the Arizona Diamondbacks in exchange for a player to be named later or cash considerations. The Diamondbacks released Harrell on August 24, 2014. His stats were poor, after starting out well in his first few starts in Reno, Harrell declined gradually over the course of the next few months. In over 100 innings pitched, Harrell had 77 walks against 67 strikeouts and registered a WHIP of 1.80 in 22 games for the Aces.
LG Twins
On November 25 2014, Harrell signed with the LG Twins.
On March 7, 2016, Harrell signed a minor league contract with the Detroit Tigers. Harrell appeared in six games between the AAA and AA minor league Detroit Tigers system.
Atlanta Braves
Harrell was acquired by the Braves on May 21, 2016. On July 2, the Braves called him up to make a spot start. Harrell pitched six innings, yielding one run on five hits in his first major league start since April 15, 2014, and earned his first win since August 14, 2013.
Texas Rangers
On July 27, 2016, the Braves traded Harrell and Darío Álvarez to the Texas Rangers for Travis Demeritte. Harrell made his Rangers debut on July 31, 2016, and earned a win. On October 28, Harrell rejected an outright assignment to the minor leagues and became a free agent.
Toronto Blue Jays
On January 30, 2017, Harrell signed a minor league contract with the Toronto Blue Jays that included an invitation to spring training. On July 1, Harrell was called up by the Blue Jays. He was designated for assignment on July 17. On October 6, Harrell elected free agency.
Harrell is an extreme ground ball pitcher, relying on a 91 MPH two-seam fastball. In 2012, he averaged 57% ground ball outs, ranking in the top 5 in the major leagues. He also throws an upper 80's slider, a curveball and a changeup.