Arizona Diamondbacks Minor leagues Penny was selected by the
Arizona Diamondbacks in the fifth round (155th overall) of the
1996 MLB draft, and signed with the Diamondbacks on June 4, 1996. He was immediately assigned to the
Arizona Summer League, where he ranked fourth in the league in
ERA (2.36) and was named Arizona's Organizational Pitcher of the Month in August. With the
South Bend Silver Hawks in 1997, he was 10–5 with an ERA of 2.73 in 25 starts. In 1998, with the
High Desert Mavericks, he went 14–5 with a 2.96 ERA in 28 starts and was named to
Baseball America's first team Minor League All-Stars, the
California League Pitcher of the Year,
California League Most Valuable Player,
Arizona Diamondbacks Minor League Player of the Year and "A" Level Player of the Year. In 1999, he started the year with the
El Paso Diablos at the Diamondbacks Double-A level, and had a 2–7 record with a 4.80 ERA when he was traded to the
Florida Marlins.
Florida Marlins On July 8, 1999, Penny was traded to the
Florida Marlins along with
Abraham Núñez and
Vladimir Núñez in exchange for
relief pitcher Matt Mantei. The Marlins assigned him to their Double-A affiliate, the
Portland Sea Dogs. In his first game in the Marlins organization on August 8, Penny combined with Luis Arroyo for the first
no-hitter in Portland history.
Major leagues After a good spring, Penny made the Marlins starting rotation in 2000. He made his first MLB appearance in a start on April 7, 2000, against the
Colorado Rockies. Penny pitched seven innings, giving up only one
run, to get his first MLB
win in the Marlins' 4–3 victory. At the end of the season, he ranked second among NL rookies in winning percentage (.533), third in wins, tied for fourth with 22 games started and was sixth in both innings pitched () and
strikeouts (80). In 2001, Penny pitched 205 innings for the Marlins. He finished 10–10 in 31 starts. In 2002, due to injuries and ineffectiveness, Penny's ERA rose from 3.69 in 2001 to 4.66 in 2002. In 2003, Penny bounced back, finishing the season with 14 wins for the Marlins and helping them reach the playoffs. Penny collected the win in Florida's
NLCS clinching victory over the
Chicago Cubs and in the
World Series against the
New York Yankees he went 2–0 with a 2.19 ERA in his two starts. Penny started the 2004 season with an 8–8 record with a 3.15 ERA in 21 starts for the Marlins.
Los Angeles Dodgers On July 30, 2004, Penny was traded with
Hee-Seop Choi and pitching prospect
Bill Murphy to the
Los Angeles Dodgers for
Guillermo Mota,
Juan Encarnación, and
Paul Lo Duca. However, in the first inning of his second start with the Dodgers he suffered a serious arm injury and went on the
disabled list (DL). He returned in September but reinjured himself after three innings in his first start off the DL. He began the following season on the disabled list, still recovering from the injury, but he rejoined the Dodgers on April 24, 2005, and had a solid season. On June 12, 2005, Penny signed a three-year contract extension worth a guaranteed $25 million and a team option for the 2009 season. Penny was named by
Houston Astros manager
Phil Garner as the
National League's starting pitcher in the
2006 All-Star Game. He pitched two innings, allowing a home run to
Vladimir Guerrero after striking out the side (
Ichiro Suzuki,
Derek Jeter, and
David Ortiz) in the first inning. On September 23, 2006, against the Arizona Diamondbacks, Penny joined the small club of pitchers who have struck out four batters in one inning. Due to the
uncaught third strike rule, Penny was credited with striking out
Chad Tracy, but because
catcher Russell Martin failed to catch the ball cleanly, Tracy was allowed to attempt to run to first base, and made it there before he could be thrown out. Despite giving up three runs in the inning, Penny recorded three more strikeouts to complete the four-strikeout inning. He also threw the fastest fastball of all NL starters in 2006, averaging 93.9 miles per hour. Penny had a strong start to 2007 that continued throughout the season, with an ERA of 3.03 for the season and was the first Dodger pitcher to start out with a 12–1 record since
Phil Regan went 14–1 in 1966. Penny was selected to the All-Star game for a second consecutive year. Penny had several memorable outings in 2007, including on May 7, 2007, against his former team, the Florida Marlins. Penny struck out a career-high 14 batters that day in a 6–1 Dodger win. Another memorable performance was against the
San Diego Padres in a pitcher's duel against All-Star teammate
Jake Peavy just before the All-Star break. The match ended in a draw with both pitchers going seven innings giving up one
earned run on five hits. Penny struck out seven, while Peavy struck out six. The Padres would eventually win the game 3–1 in 12 innings. He also threw the fastest fastball of all NL starters in 2007, averaging 93.4 miles per hour. Penny recorded his 100th career win on June 17, 2009, against his former team the
Florida Marlins, in a five-inning effort only giving up one unearned run. The win came on the Red Sox's 500th consecutive sell out at
Fenway Park. During his last five starts with the Red Sox, Penny was 0–4 with a 9.11 ERA. After a disastrous start against the rival Yankees, Boston management decided on August 22 that Penny would leave the rotation, replaced by veteran knuckleballer
Tim Wakefield, who was coming off the disabled list. During Wakefield's August 26 start, Penny was placed in the bullpen as insurance, but was never needed with Wakefield pitching a strong seven inning effort giving up only one run. With Wakefield completing a healthy start, reliever
Billy Wagner being added to the roster, and Penny not wanting to be a reliever, the Red Sox granted his wish to be released late that night. During his time in Boston, Penny's record was 7–8, with a 5.61 ERA.
San Francisco Giants On August 31, 2009, Penny signed with the
San Francisco Giants after clearing waivers. The Giants paid Penny only the pro-rated portion of the $400,000 MLB minimum salary (i.e., under $100k), with the Red Sox paying the remainder of his $5 million salary for the year. In his debut, Penny pitched eight shutout innings in a 4–0 win over Philadelphia. Penny demonstrated his past success in the National League, going 4-1 in 6 starts for the Giants. He became a free agent after the season.
St. Louis Cardinals On December 9, 2009, Penny agreed to a one-year contract with the
St. Louis Cardinals. On May 21, 2010, Penny hit his first career grand slam, giving St. Louis an 8–4 lead during interleague play against the Angels. He was pulled the next inning with an injury and did not earn the win. The injury was an aggravation of a pre-existing oblique muscle strain that landed him on the disabled list for the remainder of the season. He became a free agent following the season
Detroit Tigers On January 18, 2011, Penny agreed to a one-year, $3 million contract with the
Detroit Tigers. Joining the Tigers roster reunited Penny with past teammates in
Miguel Cabrera from the Marlins and
Víctor Martínez from the Red Sox. Penny started off the season with the Tigers as their number two starter, behind
Justin Verlander and in front of
Max Scherzer. Aside from May, when Penny went 3–1 in five starts with an ERA of 3.24, Penny had a sub-par first half of the season, going 6–6 with a 4.50 ERA, and with the Tigers' acquisition of
Doug Fister in July, in addition to the success of Scherzer, Penny was moved to the number four spot in the rotation. Penny had a worse second half, going 5–5 with a 6.53 ERA after the All-Star break. Overall, Penny's 5.30 ERA was the worst among qualified starters in 2011. When the Tigers went to the postseason, he was added to the roster in the bullpen. He appeared in Game 6 of the
American League Championship Series against the
Texas Rangers, his only appearance in the playoffs, and pitched innings while giving up 5 runs. The Tigers went on to lose that game 15–5, sending the Rangers to the
World Series. The Rangers lost in 7 games to Penny's former club, the
St. Louis Cardinals.
Fukuoka SoftBank Hawks On February 5, 2012, Penny agreed to a one-year, $3 million contract with the
Fukuoka SoftBank Hawks of
Nippon Professional Baseball. However, after allowing six runs and five stolen bases in only innings in his NPB debut game, Penny claimed that he injured his elbow and asked to be removed from the game. He was immediately sent to the disabled list and took two MRI exams (one in Fukuoka, and one in the United States), but both results were negative. Penny was released from his contract a month later, on May 8. He was a "huge disappointment," and a local newspaper reported that signing Penny was "the worst decision in franchise history."
San Francisco Giants (second stint) On May 18, 2012, Penny signed a minor league contract with the
San Francisco Giants. He had his contract selected to the major league roster on June 29. On June 30, Penny faced the
Cincinnati Reds in his first game of the season. He went innings, giving up 0 hits and 0 earned runs while striking out 1 batter. He finished the season 0-1 with a 6.11 ERA while appearing in 22 games. He became a free agent following the season.
Miami Marlins On January 16, 2014, Penny signed a minor league contract with the
Kansas City Royals. He was released prior to the start of the season on March 7, after experiencing struggles in spring training. On June 18, 2014, Penny agreed to a minor league contract with the
Miami Marlins. He had his contract selected to the major league roster and he made his first start with the club in over ten years on August 9, against the
Cincinnati Reds. He became a free agent following the season.
Chicago White Sox On December 16, 2014, Penny signed a minor league deal with the
Chicago White Sox. After a mixed spring training in 2015 (1–1 record with a 6.89 ERA in innings), he failed to win a spot in Chicago's rotation and played with their
Triple-A affiliate, the
Charlotte Knights. He elected free agency on November 6, 2015. On December 18, 2015, Penny signed a minor league contract with the
Toronto Blue Jays that included an invitation to spring training. On March 18, 2016, Penny announced his retirement from professional baseball. ==Personal life==