Minor league career Oswalt was spotted by only one MLB scout, James Farrar of the Houston Astros. Convinced that Oswalt's anonymity kept him hidden from other teams, the Astros allowed him to drop into the 23rd round of the
1996 MLB draft. By this point, Oswalt had drawn the attention of the
Mississippi State Bulldogs, for whom he had long wanted play. The Astros enticed Oswalt with a $500,000 signing bonus, In 1997, Oswalt played rookie ball in the
Gulf Coast League, where he gave up only two runs in five starts. He was then called up to the
Auburn Doubledays of the
New York–Penn League, where he went 2–4 the rest of the way. Oswalt split 1998 between the same two teams. In 16
innings of work with the Gulf Coast Astros, he
struck out 27
batters and walked just one. Oswalt was promoted again to Auburn, where he recorded the league's fourth-lowest
ERA (2.18). During the 1999 season, when Oswalt was with the
Class A Michigan Battle Cats in the
Midwest League, he began suffering pain in his upper shoulder. A month after the season was over, he was still suffering pain. Team doctors diagnosed the pain as tendinitis earlier in the year, although Oswalt was convinced that his shoulder was torn. A few days after returning home, he was checking the
spark plug wires on his pickup truck. He touched one of the spark plug wires, causing the truck's engine to start. The truck's
electric current flowed through Oswalt's body, and consequently the muscles in his hand tightened on the spark plug wire. Unable to let go of it, Oswalt grasped the wire for what he said felt like two days, but was probably just a minute. He claimed his foot finally slipped off the truck's bumper and which threw him off the truck. Oswalt told his wife, "My truck done shocked the fire out of me, and my arm don't hurt no more." He finished 1999 with 143 strikeouts and a club-high 13 wins. Oswalt began 2000 with the Class A
Kissimmee Cobras of the
Florida State League, going 4–3 with a 2.98 ERA before a player injury on
Class AA Round Rock Express of the
Texas League led to his promotion. Oswalt was only expected to pitch a few games and had been given a round-trip ticket. But after striking out 15 batters in his first start with the Express,
manager Jackie Moore tore up his ticket.
Nolan Ryan, owner of the Express and Oswalt's idol, admired his calm demeanor and his aggressiveness so much that he successfully lobbied to keep Oswalt on the roster, where he would go 11–4 with a 1.94 ERA, and record 141 strikeouts over 19 games (18 starts). It was in Round Rock that he met pitching coach
Mike Maddux, who counseled the young Oswalt to be economical in his pitch selection by throwing more breaking balls and inducing groundouts early in the count. As a result of his success at Round Rock, Oswalt was selected to play on the U.S. Olympic baseball team at the
2000 Summer Olympics. In
Olympic baseball competition, Oswalt pitched in the semi-finals against
South Korea, a game that the U.S. won with a walk-off home run by
Doug Mientkiewicz en route to their
gold medal finish. Oswalt struck out ten and allowed two runs (1.38 ERA) in his two starts. In 2001, Oswalt started the season with the
Triple-A New Orleans Zephyrs, where he went 2–3 before being called up to the MLB when left-hander
Wayne Franklin was optioned down. From August 30 to September 18, 2001, Oswalt tossed 24
consecutive scoreless innings before giving up a home run at
Pacific Bell Park to
Andrés Galarraga of the
San Francisco Giants. During that streak, Oswalt earned his first major league
shuout on September 9, tossing it at home against the
Milwuakee Brewers and striking out a career-high 12. Oswalt finished his
rookie campaign with a 14–3 record and a 2.73 ERA, including a 12–2 mark with a 2.82 ERA in his 20 starts. He finished second in voting for
National League Rookie of the Year, losing unanimously to
Albert Pujols. He also placed fifth in
Cy Young Award voting, which was won by
Randy Johnson. He won the
Sporting News NL Rookie Pitcher of the Year Award. Oswalt was unavailable to pitch in the
playoffs due to a groin strain. The
Atlanta Braves swept the best-of-3
National League Division Series (NLDS), eliminating the Astros and ending their season. The
2002 season was another step forward for Oswalt, who finished the season with a 19–9 record, striking out a career-high 208 batters and finishing with an ERA of 3.01. He tied with
Éric Gagné for fourth in Cy Young voting, losing once again to Johnson. From July 27 to September 8, he won a then-club record 9 straight starts before getting a no-decision in an extra innings' Astros loss to the
St. Louis Cardinals. Injuries plagued Oswalt in
2003, but he still recorded a 10–5 record over 21 starts. He started a team
no-hitter against the
New York Yankees on June 11. Oswalt left after one inning, and 5 more Astros continued to no-hit the Yankees. He rebounded in
2004 with the first 20-win season of his career, the only
National League (NL) pitcher to do so that year. He went 20–10 despite a career-high 3.49 ERA, and struck out 206 batters. He finished third in Cy Young Award voting, behind his teammate
Roger Clemens and, once again, Randy Johnson. He also made his first postseason appearance, going 1–0 with a 4.19 ERA in three starts and one relief appearance. He threw two complete-game shutouts during the season, both against the
Milwaukee Brewers. He led all NL starters with the fastest average fastball, at . He won the
Darryl Kile Award. In
2005, Oswalt threw a career-high 241 innings, striking out 184 batters and only walking 48 on the way to his second consecutive 20-win season – the first Astro to do so since
Joe Niekro in 1979–80. He notched a 20–12 record, including a career-best 10-game winning streak from April 10 to July 26, with a 2.94 ERA, and was named to his first
Major League Baseball All-Star Game as the National League
All-Star Final Vote winner. He was fourth in Cy Young Award balloting, won by
Chris Carpenter. In the postseason that year, Oswalt started 4 games and went 3–0. His two seven inning one-run performances netted him the
NLCS MVP award, including a three-hit seven strikeout game in Game 6. , with
Chase Utley behind him.
2006–2009 Oswalt went 15–8 in 2006 and was named to his second consecutive All-Star team and his final ERA led NL (2.98), and also struck out 166 batters while walking 38. On August 9 of that year, Oswalt hit his first and only career home run in the second inning in a game against the
Pittsburgh Pirates, hitting a two-run homer off of
Shawn Chacon. On August 29, 2006, Oswalt's 29th birthday, he signed a five-year extension with the Astros totaling $73 million with an option for a 6th year. He again finished fourth in Cy Young Award voting, won by
Brandon Webb. On September 18, while pitching against the
Cincinnati Reds, Oswalt recorded his 1,000th strikeout, becoming the eighth player in Astros history to reach the milestone. Before the 2007 season, Roy Oswalt received the second-highest Pitcher Player Value Ranking from
Sports Illustrated Baseball Preview Edition. He was rated the best in the NL ahead of Brandon Webb and Chris Carpenter, and was only below the 2006
Triple Crown winner
Johan Santana. On July 5, 2007, it was announced Oswalt would replace an injured
John Smoltz on the National League All-Star team, making it Oswalt's third consecutive All-Star game appearance. He did not pitch in the
All-Star Game, however. On August 13, 2007,
Sports Illustrated named Oswalt as one of the top five pitchers (along with Santana,
Roy Halladay,
Jake Peavy, and
Justin Verlander). On September 26, 2007, it was reported that Oswalt was suffering from pain in his left side and it was decided to shut him down for the remainder of the season so as not to risk a more serious injury. He finished the 2007 season throwing 212 innings, his fourth consecutive year of 200 or more innings pitched, a 14–7 record, an ERA of 3.18 and 154 strikeouts. Although he started off the 2008 season slowly (0–3, 9.00 ERA), a solid second half helped Oswalt reach his highest win total since 2005. Oswalt was able to accomplish this despite landing on the disabled list on July 19 for the first time since 2006. He also set an Astros team record with 32 scoreless innings. He finished the 2008 season throwing 208 innings, his fifth consecutive year of 200 or more innings pitched, a 17–10 record, an ERA of 3.54 and 165 strikeouts. Oswalt is one of 10 major league pitchers who won at least 11 games in each year from 2004 to 2008. In 2009, Oswalt played for the United States in the
World Baseball Classic, appearing in two games. He was the winning pitcher in the contest versus the Netherlands, but was pulled from the semifinal against Japan in the fourth inning after giving up 6 runs.
Philadelphia Phillies (2010–2011) 2010 On July 29, Oswalt was dealt to the Philadelphia Phillies for
J. A. Happ and two minor league players, center fielder
Anthony Gose, and shortstop
Jonathan Villar, playing for Class-A Advanced and Class-A, respectively. On August 24, Oswalt became the first Phillies pitcher to field in a non-pitching position in 39 years. In a game against the Houston Astros, Phillies' first baseman
Ryan Howard was ejected after arguing a
checked swing to end the bottom of the 14th inning. Out of offensive reserves, Phillies manager
Charlie Manuel moved left fielder
Raúl Ibañez to first base and sent Oswalt to play left field. Oswalt acquired one
putout in the outfield, but later hit into the final out of the Phillies loss by grounding out in the bottom of the 16th inning. The previous Phillies pitcher to play a position was
Bill Wilson, who played third base for one-third of an inning on August 6, 1971. On September 12, Oswalt pitched his first complete game as a Phillie in a 3–0 win against the
New York Mets, allowing four hits and striking out six. In the
2010 NLDS, Oswalt pitched Game 2 of the Phillies' three-game sweep of the Cincinnati Reds; he gave up four runs in five innings, but the Phillies came back to win 7–4. In the
2010 NLCS against the San Francisco Giants, Oswalt won Game 2 by allowing only one run in eight innings, which was his ninth postseason start without a loss. Oswalt entered Game 4 in the bottom of the ninth inning, attempting to preserve a tie game. However, he could only get two outs in the inning as Oswalt allowed two hits before
Juan Uribe drove the winning run from third base on a sacrifice fly. In Game 6, facing elimination, Oswalt allowed two runs in six innings but left with the game tied; the Giants later broke the tie to win that game and the series.
2011 Going into the 2011 season, the Phillies' top four pitchers (
Roy Halladay,
Cliff Lee, Oswalt, and
Cole Hamels) were widely touted as constituting one of the best
starting rotations in history. After a strong start to the 2011 season, Oswalt took a leave of absence from the Phillies on April 27, 2011, citing "personal reasons", namely to check on his family and home after a series of
devastating tornadoes in Mississippi. He later spent several weeks on the
disabled list due to a back injury. Overall, his season was considered to be disappointing, perhaps due to his back problems. However, several of the teams on Oswalt's list were not interested, and Stark reported that Oswalt's performance in 2011 prevented other teams from offering the money he expected. To get back to form, Roy started four games in the Rangers' minor league system; three games for the Triple-A
Round Rock Express and one for the Double-A
Frisco RoughRiders. Throughout the four starts, he went 1–1 with a 5.87 ERA. On June 20, the Rangers announced that Oswalt would make his first start with the major league club on Friday, June 22, a
home game against the
Colorado Rockies. In his debut with the Rangers, Oswalt pitched 6 innings. He collected 6 strikeouts, while surrendering 9 hits and one earned run. He received an ovation from the crowd as he exited. On July 31, the Rangers moved Oswalt to the bullpen after the acquisition of
Ryan Dempster. On August 23, Oswalt made a spot start against the
Tampa Bay Rays to give
Matt Harrison an extra day of rest. However, he was removed after two innings with soreness in his elbow. On September 11, he was diagnosed with a right forearm strain and did not throw for several days. His first appearance since the injury was on September 24 in a game against the
Oakland Athletics. He pitched two scoreless innings of relief. The next day, he pitched 1.1 innings.
Colorado Rockies (2013) Oswalt agreed to a minor league deal with the
Colorado Rockies on May 2, 2013. He made his Rockies debut on June 20 against the
Washington Nationals, pitching 5 innings and giving up 4 earned runs on 9 hits with 11 strikeouts.
Retirement Oswalt retired after the 2013 season and went to work for his former agent. Oswalt, along with former teammate
Lance Berkman signed a one-day contract with Houston to officially retire as an Astro on April 5, 2014. Oswalt was first eligible for the
Baseball Hall of Fame in 2019. He received 4 votes, or 0.9%, which is less than the 5% threshold and thus became ineligible for further consideration. Oswalt was inducted into the
Mississippi Sports Hall of Fame on August 3, 2019. ==Pitching style==