Washington Nationals 2004–2007 Balester was drafted by the
Montreal Expos in the fourth round of the
2004 Major League Baseball (MLB) draft. On July 10, Balester signed with the Expos and was assigned to the
Rookie-level GCL Expos. In five games, he had a 1–2 win–loss record, a 2.19 ERA and a 1.014
walks plus hits per inning pitched (WHIP). Before the 2005 season, the Expos relocated to
Washington, D.C., and became the
Washington Nationals.
Baseball America also named Balester the 10th best prospect in the Nationals organization and listed him as having the best
fastball of any minor leaguer in their system. To begin the season, Balester joined the
Single-A Savannah Sand Gnats and made his debut for the club on April 11, giving up just three hits in six innings and being awarded with the win. In a start against the
Greensboro Grasshoppers on July 10, Balester allowed just one hit in eight innings of work, prompting
Greensboro News & Record columnist Bill Hass to claim that, "The young right-hander [Balester] turned the Hoppers hitters into traffic cones." On July 29, John Manuel of
Baseball America mentioned Balester as a breakout player, along with
infielder Kory Casto. In 24 games for Savannah, 23 of which were starts, he went 8–6 with a 3.67 ERA, and a 1.176 WHIP. Balester began the 2006 season with the High-A
Potomac Nationals, where he got off to a bad start, going 1–3 with a 6.91 in nine starts. On the bad start, Balester said, "It kind of has been hard. I did so well last year. I think it's going to be good for me that I am failing a little bit more so that I know how to fail. I know I can use this in the future." He also added that, "I get way too high expectations for myself and I've got to realize I am only 19 years old." In late August, after going 4–5 with a 5.20 ERA and a 1.521 WHIP in 22 starts for Potomac, In three starts for Harrisburg, he went 1–0 with a 1.83 ERA. Balester started the season with Harrisburg. On July 7, Balester was named to the Team USA roster for the
All-Star Futures Game at
AT&T Park. The following week, he was called up to the
Triple-A Columbus Clippers. In 10 starts for the Clippers, he went 2–3 with a 4.18 ERA. The Nationals did trade for Dukes in December, but they sent Glenn Gibson to the Devil Rays instead of Balester.
2008 Balester began the 2008 season with Columbus, going 9–3 with a 4.00 ERA in 15 starts for the club. and he made his MLB debut the following day against the
Florida Marlins. He pitched five innings, striking out three and allowing one hit in a 9–6 Nationals win. With the win, he became the first Nationals starter to win his debut since
Dan Smith did in 1999, when the team was still playing in Montreal. He started 14 more games for the Nationals, going 3–7 with a 5.51 ERA.
2009 In
spring training 2009, Balester was part of a battle with
Jordan Zimmermann and
Shairon Martis for one of the final two spots in the Nationals
starting rotation. After going 1–1 with a 6.75 ERA during spring training, he was reassigned to the minors on March 28, but he remained a part of the organization's long-term plans. Over the offseason, the Nationals had switched minor league affiliations, and Balester joined their new Triple-A affiliate, the
Syracuse Chiefs. On July 23, after Zimmermann was placed on the 15-day
disabled list with elbow pain, Balester was called up to take his place in the rotation. On August 25, the Nationals signed
Liván Hernández from
free agency and, to make room on the roster, optioned Balester to Triple-A. In seven starts for the Nationals in 2009, he went 1–4 with a 6.82 ERA. After returning to Syracuse, Balester strained a muscle on his left side, ending his season. In 20 total starts with the Chiefs, he went 7–10 with a 4.44 ERA. Balester recorded an 11.65 ERA in his first five starts for the Chiefs, prompting the Nationals to send him to extended spring training to begin the process of converting him to a relief pitcher. On July 24, Balester was called up by the Nationals to replace
Luis Atilano, who had been placed on the disabled list with floating bone chips in his elbow. That day, Balester came into the game to replace
J. D. Martin and hit
Milwaukee Brewers second baseman
Rickie Weeks in the head with a fastball. Nine days later, Balester again hit a batter in the head. This time, it was
Arizona Diamondbacks third baseman
Mark Reynolds. Neither batter suffered a serious injury, but Balester still commented that, "You don't want to do that kind of stuff. It's the second time I did that, but it's one of those things you never want to have happen in your career. It's obviously unintentional. It's not a good situation to be in." On August 8, Balester was optioned back to Syracuse, only to be recalled on August 24, when
Stephen Strasburg was placed on the disabled list. However, a day later, he was sent back down to Triple-A. Balester was recalled again for a third time on September 5. In 35 total games for Syracuse, he went 3–3 with a 5.87 ERA, On April 17, after throwing five scoreless innings in his first outing of the year, he was called up to replace
Todd Coffey, who had been placed on the disabled list. He was optioned back to Syracuse on April 24, after making two appearances, allowing three runs. After
Tom Gorzelanny was placed on the disabled list on May 28, Balester was recalled by the Nationals. At the time of his call-up, he had made 13 appearances with a 3.71 ERA and struck out 18 batters for Syracuse. however, he was recalled again on June 15. He was
designated for assignment on July 5. In eight games with the Nationals, he had a 4.61 ERA and a 1.683 WHIP. He was re-added to the 40-man roster on July 7, after the Nationals secured optional
waivers for him, meaning they could take him off waivers, should a team try to claim him. On August 2, he was recalled by the Nationals, replacing
Atahualpa Severino on the 25-man roster. He spent the rest of the season in the bullpen for the Nationals. In 23 games, he had a 1–4 record, a 4.54 ERA, and 34 strikeouts in innings.
Detroit Tigers In 2012, Balester made the Tigers'
Opening Day roster as a relief pitcher, marking the first time in his career that he started a season in the major leagues. He picked up wins on April 12 and May 15, both times relieving a starting pitcher who had failed to make it through five innings. However, he was designated for assignment by Detroit on May 23 to make room for
Quintin Berry on the roster. In 11 games with the Tigers, he had posted a 2–0 record, a 6.50 ERA, 12 strikeouts, and 11 walks in 18 innings. On June 6, Balester underwent
Tommy John surgery, ending his season. In six games (five starts), he had posted a 1–4 record, a 7.33 ERA, and 22 strikeouts in 27 innings. In 10 relief appearances, he had a 1–4 record, a 6.55 ERA, and 10 strikeouts in 11 innings pitched. He pitched in his first MLB game in three years that same day, then got his first win in three years on August 24, pitching two scoreless innings as the Reds scored 10 runs in the sixth inning to come from behind and beat the Tigers, 12–5. "It was unbelievable – it was the best inning I'd ever seen," Balester said of the offensive outburst. He remained with the Reds for the rest of the season. Balester posted a 1–1 record, a 7.47 ERA, 13 strikeouts, and 13 walks in 15 appearances ( innings pitched).
San Francisco Giants After moving to
Perrysburg, Ohio, Balester starting throwing a baseball again in November. The elbow pain which had plagued him earlier in 2016 was gone, so he decided to make a comeback. Failing to make the team, he was released on March 29, 2017. He was released on May 4, before the start of the Wingnuts' spring training, when the Wingnuts signed Danny Moskovits. On May 6, 2017, Balester signed a minor league contract with the
San Francisco Giants. He was assigned to the Double-A
Richmond Flying Squirrels on May 22. ==Pitching style==