At 38 years old, Ian Kennedy has this physical status:
The St. Louis Cardinals of Major League Baseball (MLB) drafted Kennedy in the 14th round of the 2003 Major League Baseball draft, but he chose not to sign with the team, instead honoring his commitment to play college baseball for the University of Southern California (USC). There, he followed Anthony Reyes as the team's pitching ace. In 2004, he was the first freshman to make the top of the USC starting rotation since Randy Flores had done so in 1994. He pitched 92+2⁄3 innings, striking out 120 batters and posting a 7–2 record with a 2.91 ERA. At the end of the year, Kennedy was named to the Baseball America Freshman All-America Team. That summer, he helped take the US College National Team to a gold medal at the World University Baseball Championship, putting up a 3–1 record with a 3.81 ERA and leading the team with 40 strikeouts. Kennedy was credited with the win in the championship match against Japan, where he took a no-hitter into the eighth inning.
USC baseball coach Mike Gillespie opened the 2005 season with the intention of using Kennedy up to three times a week, pitching on Fridays, Sundays, and Tuesdays to limit the damage of the school's dearth of starting pitchers. Pitching coach Dave Lawn, meanwhile, focused on improving Kennedy's command and stamina, which would allow him to pitch deeper into each game. His sophomore year turned into a breakout season for Kennedy, who went 12–2 with a 2.54 ERA, earned consensus All-American honors, and helped lead the Trojans through the first round of the 2005 NCAA Division I Baseball Tournament. Ultimately, however, the Trojans fell to Oregon State at the Corvallis Super Regional and were eliminated from the tournament. Kennedy, meanwhile, was named the Pac-10 Conference Pitcher of the Year after striking out 95 batters in his first 67+1⁄3 innings.
Going into the 2006 college baseball season, USC lost many staples of its rotation to the MLB draft, including catcher Jeff Clement and third baseman Billy Hart, and Kennedy was called upon to be a leader for the younger members of the team. That February, he came within one out of a no-hitter against Kansas before senior Ritchie Price recorded a hit in the ninth inning. Ultimately, Kennedy could not repeat the success of the previous season, slumping to a 5–7 record with a 3.90 ERA in 2006. Kennedy finished his college baseball career with a 24–12 record and a 3.09 ERA. He came in third at the time for all-time USC strikeouts with 380, and was second in strikeouts per nine innings (K/9) with 10.99.
The New York Yankees selected Kennedy in the first round, 21st overall, of the 2006 Major League Baseball draft. He was the 39th player in USC history to become a first-round MLB draft selection. He signed with the team in mid-August for a $2.25 million signing bonus, roughly $750,000 more than expected for a 21st overall draft selection, and was assigned to the Class A Short-Season Staten Island Yankees of the New York–Penn League. Kennedy made his professional baseball debut on September 6, 2006, pitching 2+2⁄3 innings against the Tri-City ValleyCats. After playing one game for Staten Island, Kennedy spent the winter with the West Oahu CaneFires of the Hawaii Winter Baseball league. In nine games there, including seven starts, he posted a 0–2 record and a 4.45 ERA, striking out 45 batters in 30+1⁄3 innings.
Following his brief Staten Island outing, Kennedy was assigned to the Class A Tampa Yankees of the Florida State League to begin the 2007 season. In 10 Class A starts, Kennedy posted a 6–1 record with a 1.29 ERA, striking out 72 batters in 63 innings and holding his opponents to a .183 batting average. He received a promotion to the Double-A Trenton Thunder at the start of June and won his Double-A debut against the Binghamton Mets on June 6, 2007. On July 24, Kennedy and his rotation mate Joba Chamberlain were both promoted from Trenton to the Triple-A Scranton/Wilkes-Barre Yankees. At the time of his promotion, Kennedy led the Yankees' farm system with 129 strikeouts and was tied for first with 11 wins. He made only six starts with Scranton, going 1–1 with a 2.08 ERA and striking out 34 batters in 34+2⁄3 innings. Altogether, Kennedy posted a 12–3 minor league record in 2007, with a 1.91 ERA and 163 strikeouts in 25 starts and 146+1⁄3 innings.
After Mike Mussina lost three starts in a row for the Yankees, recording a 17.69 ERA in the process, Kennedy was called up to take his spot in the rotation at the end of August, becoming the second Yankee that season to climb from Class A to major league ball. He made his major league debut on September 1, 2007, allowing only one earned run in seven innings of an eventual 9–6 victory over the Tampa Bay Devil Rays. After going 1–0 with a 1.89 ERA in his first three major league starts, Kennedy had to be scratched from a scheduled September 22 game against the Toronto Blue Jays because he strained a muscle in his upper back. The injury forced Kennedy to miss the remainder of the season.
Rather than acquiring a veteran free agent starting pitcher during the 2007–08 offseason, the Yankees chose to entrust their starting rotation to a trio of young pitchers: Kennedy, Joba Chamberlain, and Phil Hughes. The plan did not work as expected: Kennedy went 0–2 with an 8.37 ERA in his first six games and was optioned to Triple-A on May 4, with Darrell Rasner taking his place at the back of the rotation. After finding success in the International League, including a four-game stretch with a 1.33 ERA, Kennedy was called back up to the Yankees for an emergency start against the Los Angeles Angels of Anaheim on August 8. He allowed nine hits and five runs and was pulled out of the game in the third inning. Kennedy's major league record for the season fell to 0–4 while his ERA rose to 8.17. It would be his last major league start in the Yankees organization.
Kennedy opened the 2009 season in Triple-A but began feeling numbness in his pitching hand that April. On May 8, he was diagnosed with an aneurysm around his biceps and underwent surgery the following week. He began facing live batters again at the start of September, and from there, Kennedy pitched in six minor-league games, including two starts, for a total of 27+2⁄3 innings. He returned to the major leagues on September 20, with manager Joe Girardi intending to utilize Kennedy as a long reliever. Kennedy made his first Yankees appearance in over a year on September 23, walking two batters and hitting another with a pitch during the eighth inning of an eventual 3–2 win over the Angels. Kennedy was subsequently left off of the postseason roster on the Yankees' run to a 2009 World Series championship title. After the season ended, he joined the Surprise Rafters of the Arizona Fall League to make up for the mostly-lost season. Experimenting with developing off-speed pitches, Kennedy had a 4.25 ERA during his fall league stint, putting up a strikeout-to-walk ratio of 5.6 in his 29+2⁄3 innings.
On December 8, 2009, Kennedy was part of a three-team, seven-player trade with the Yankees, Arizona Diamondbacks, and Detroit Tigers. Kennedy, Phil Coke, and prospect Austin Jackson went from New York to Detroit in exchange for All-Star center fielder Curtis Granderson, with Kennedy then flipped to Arizona alongside Edwin Jackson so that the Tigers could acquire Diamondbacks pitchers Max Scherzer and Daniel Schlereth. The Diamondbacks started showing interest in Kennedy when he pitched for the Arizona Fall League, and he earned a position in the Arizona starting rotation by the end of March 2010. The Diamondbacks' player development staff agreed at the start of the season to limit Kennedy's workload to a total of 180 innings, an amount that would help the pitcher extend his durability without pushing him into additional injuries. Kennedy picked up his first win in over two years on April 29, pitching eight innings in the Diamondbacks' 13–5 rout of the Chicago Cubs. Kennedy was able to take a one-run game into the eighth inning before giving up a grand slam to Kosuke Fukudome, and Daniel Stange was called in to pitch a perfect ninth inning for his own MLB debut. On August 26, Kennedy struck out a career-high 12 batters in an 11–5 victory over the San Diego Padres. He cited Arizona's early lead, in which they picked up nine runs in the first 3+1⁄3 innings, with helping him relax enough to maintain his command. Kennedy finished his first full major league season with a 9–10 record and a 3.80 ERA in 32 starts, as well as 168 strikeouts in 194 innings. He also walked 70 batters and led MLB with 16 wild pitches.
Arizona manager Kirk Gibson tapped Kennedy to serve as the Diamondbacks' opening day starter for the 2011 season, after he went 0–0 with a 7.88 ERA during spring training. Kennedy took two innings to settle into his rhythm, allowing three earned runs in six innings of the eventual 7–6 loss to the Colorado Rockies. After a brief trip to New York to be with his wife and their newborn child, Kennedy pitched his first major league complete game on April 25, outdueling ace Cliff Lee in a 4–0 shutout of the Philadelphia Phillies. He continued to perform well through the summer, building a seven-game winning streak as well as 22 straight starts in which he threw at least 100 pitches. Both of those streaks were broken on August 19, when Kennedy allowed three runs and five hits to the Phillies in three innings. With an eight-inning outing in the 1–0 defeat of the Pittsburgh Pirates on September 19, Kennedy became the first National League pitcher that season to reach 20 wins. Kennedy finished the season with 21 wins, tying Cy Young honoree Clayton Kershaw as the NL win leader. He also ranked among the leaders in the NL with 198 strikeouts, a 2.88 ERA, and 222 innings pitched. Additionally, at no point during the 2011 season did Kennedy lose two or more consecutive starts. Kennedy finished fourth in voting for the 2011 NL Cy Young Award, behind Kershaw, Roy Halladay, and Cliff Lee.
The Diamondbacks' banner season echoed Kennedy's: after finishing last in the NL West during the 2010 season, Arizona clinched the NL West title with a 3–1 victory over the San Francisco Giants on September 23. Kennedy was called upon to start Game 1 of the 2011 National League Division Series against the Milwaukee Brewers, pitching opposite Yovani Gallardo. He was unable to carry his regular season success into the playoffs, giving up four earned runs in 6+2⁄3 innings and taking the loss in the 4–1 defeat. Kennedy faced Gallardo again in Game 5, with neither pitcher taking the decision. While John Axford's first blown save for the Brewers took the game into extra innings, the Diamondbacks were eliminated on a walk-off RBI from Nyjer Morgan.
Kennedy picked up his first opening day win in 2012, outpitching Giants ace Tim Lincecum in a 5–4 victory. He struggled early in the season, with a 3–5 record and 4.65 ERA by the start of June, but felt "like [he] got in a nice little groove" against the Giants on June 1, allowing only one run in 7+1⁄3 innings. In his next start, after making a "secret" mechanical change to his pitches, Kennedy matched his career high 12 strikeouts in a 10–0 shutout of the Colorado Rockies. That July, he lasted eight innings in two consecutive starts, giving up three runs across the 16 total innings. In the second start, Kennedy also hit his first career triple, clearing the bases in a 6–3 defeat of the Rockies. While his record and ERA dropped to 14–11 and 4.14 during the 2012 season, respectively, Kennedy boasted an 8.0 K/9 ratio for the second year in a row, and maintained a 2.0 Wins Above Replacement for the year.
Kennedy once again served as Arizona's opening pitcher for the 2013 season, striking out eight batters and allowing two runs in seven innings of a 6–2 defeat of the St. Louis Cardinals. On June 11, while facing the division rival Los Angeles Dodgers, Kennedy accidentally struck three batters with a pitch. First, he glanced a fastball off of Yasiel Puig's face in the sixth inning. In the next inning, Kennedy struck catcher Miguel Montero in the back. After Kennedy struck pitcher Zack Greinke that same inning, both teams engaged in a benches-clearing brawl, with six players and coaches ejected from the game. Kennedy was suspended for 10 games for what MLB referred to as "intentionally throwing a pitch in the head area of Zack Greinke ... after a warning had already been issued to both clubs". At the time of his suspension, Kennedy was 3–4 with a 5.21 ERA. He returned on June 29, where control problems led to four runs in 4+1⁄3 innings and Arizona extended its losing streak to 21 games.
On July 31, 2013, the Diamondbacks traded Kennedy to the San Diego Padres in exchange for relief pitcher Joe Thatcher, relief prospect Matt Stites, and a compensatory pick in the upcoming draft. Padres general manager Josh Byrnes was also the Diamondbacks' general manager when they had acquired Kennedy prior, and he referred to the pitcher as "the first guy I have ever traded for twice". The Padres immediately added Kennedy to their starting rotation, where he joined Andrew Cashner, Tyson Ross, Eric Stults, and Edinson Volquez. After being traded, Kennedy struggled on the road, going 0–2 in his first four away starts with a 6.95 ERA. In his worst outing of the season, Kennedy allowed six runs on eight hits in 3+2⁄3 innings against the Pittsburgh Pirates. He posted a 4–2 record and a 4.24 ERA in 10 games with San Diego that season, striking out 55 batters in 57+1⁄3 innings.
Going into the 2014 season, Padres manager Bud Black placed Kennedy in the second spot of the starting rotation, between opening day starter Andrew Cashner and No. 3 Tyson Ross. On May 9, while facing the Miami Marlins, Kennedy not only tied his career-high 12 strikeouts as a pitcher, but he hit the first home run of his career, a solo shot against Miami starting pitcher Jacob Turner in the sixth inning. Over the course of the season, Kennedy saw noticeable improvement in his ERA, walks plus hits per innings pitched (WHIP), and strikeout-to-walk ratio over the previous season, which he credited to Black and pitching coach Darren Balsley, the latter of whom taught Kennedy to strengthen his leg kick when pitching to improve his command. Balsley's advice helped Kennedy add an extra mile per hour of velocity to Kennedy's fastball, which now reached speeds of 95 mph (153 km/h) and helped him strike out an average of 9.27 batters per nine innings. On September 27, while facing the San Francisco Giants for his 33rd and final start of the season, Kennedy passed his 200th inning pitched of the season for the third time in his career, and struck out his 200th batter of the season for the first time. He finished the year with a 13–13 record and a 3.63 ERA.
While starting the Padres' 2015 home opener against the Giants, Kennedy had to be taken out of the game in the third inning with a left hamstring strain. He explained later that he had begun to feel pain in the area on the final pitch of the second inning, and that he had asked to be taken out to avoid injuring his arm by altering his pitching mechanics. He returned on April 25 to face the Los Angeles Dodgers, giving up eight hits and eight runs in 4+1⁄3 innings while striking out only two batters. The injury set Kennedy off-course at the start of the season, and by the end of May, he had a 7.15 ERA in eight starts. He recovered through the middle part of the season, striking out 93 batters in 16 starts between June and August while holding his opponents to a .229 batting average, but struggled again at the end of the year. In his final six starts of 2015, batters hit .297 against Kennedy, who had a 5.61 ERA in that span. He finished the year with a 9–15 record and a 4.28 ERA but showed considerable improvement in his fastball velocity and in his K/9 ratio, the latter of which was 9.3 for the year.
At the end of the season, the Padres tendered Kennedy a one-year, $15.8 million qualifying offer under the anticipation that he would reject it in search of a multi-year contract elsewhere. Kennedy rejected the offer, becoming a free agent that winter.
On January 16, 2016, the Kansas City Royals signed Kennedy to a five-year, $70 million contract, with an opt-out clause built in prior to the 2018 season. Kennedy was happy to join the team, which he described as "an easy environment", and particularly enjoyed the reunion with his Yankees pitching coach, Dave Eiland. On the final day of spring training, Kennedy exited the mound shortly before the fourth inning with left hamstring tightness. Manager Ned Yost said that the removal was precautionary for a "slight" injury. Kennedy later took the win in his Royals debut, striking out seven batters in 7+2⁄3 innings in a 7–0 shutout of the Minnesota Twins. The Royals could not keep apace of their previous World Series-winning season, however, and on July 25, Kennedy managed to load the bases within six minutes of the first pitch of the game, putting the Royals in a 4–0 deficit out of the gate. He followed this effort by allowing only three runs in four starts, but was not credited with a win between June 26 and August 15. The drought was ultimately broken when Kansas City defeated Detroit 3–1. While Kennedy was mostly happy with his performance during the 2016 season, in which he went 11–11 with a 3.68 ERA and struck out 184 batters in 195+2⁄3 innings, he was disappointed that the Royals did not reach the postseason, and his 33 home runs allowed were "a lot more" than he had been "expecting or hoping for".
At the start of the 2017 MLB season, Kennedy served as the Royals' No. 2 starter, behind former reliever Danny Duffy. After going 0–3 with a 3.03 ERA in his first six starts, Kennedy suffered another hamstring injury on May 4, leaving the mound against the Chicago White Sox after 4+1⁄3 innings. He returned on May 21, lasting only two innings while walking three batters and giving up a pair of home runs. Kennedy and manager Ned Yost both clarified that the pitcher felt physically fine, and that his command issues were mental. Ultimately, however, the hamstring injury continued to bother Kennedy through the remainder of the season, particularly when he tried to utilize his changeup, historically Kennedy's most effective approach. His 5.38 ERA for the year was Kennedy's worst since 2008, and after returning at the end of May, his opponents boasted a .528 slugging percentage against him. Despite struggling his way to a 5–13 record for the year, Kennedy chose not to opt out of the remainder of his Royals contract, saying that it "would be pretty stupid" to forego the final three years of the agreement.
A number of injuries befell Kennedy during the 2018 season. On April 24, he was hit in the foot with a line drive off the bat of Ryan Braun of the Milwaukee Brewers. Kennedy was able to finish pitching the inning but had to be removed from the game afterwards with a contusion. It was the first time in Kennedy's 274 major league starts that he had not recorded at least one strikeout. Most of Kennedy's summer was taken up with a left oblique strain: he was originally put on the 10-day disabled list for the injury at the end of June, with a return date of July 10. During that attempted start, Kennedy lasted only three innings before a recurrence of the oblique strain forced him off the mound and back onto the disabled list. Kennedy returned to the mound in full on September 9 to pitch six innings against the Minnesota Twins. Injuries limited Kennedy to only 22 starts for the year, in which he went 3–9 with a 4.66 ERA and struck out 105 batters in 119+2⁄3 innings.
The injuries that Kennedy had suffered in 2018 worried the Royals, who moved him into the bullpen to start the 2019 MLB season, believing that the decreased innings workload would help Kennedy stay healthy through the season. Kennedy himself was hesitant to make the change, believing that he was capable of another year in the starting rotation, but he ultimately had a successful stint as the Royals' closer. On July 28, Kennedy recorded his 20th save of the year, becoming the sixth pitcher since saves were recorded in 1969 to compile 20 wins and 20 saves in the same season. For the period between May 30 and September 23, Kennedy led MLB with 28 saves, including 19 after the All-Star break, and he noticed a physical improvement to becoming a reliever, in contrast to feeling "like you get hit by a truck every fifth day" as a starting pitcher. Kennedy posted a 3–2 record and a 3.41 ERA for the season, striking out 73 batters in 63+1⁄3 innings and successfully converting 30 saves in 34 opportunities.
Upon learning that the 2020 MLB season would be shortened to 60 regular-season games as a result of the COVID-19 pandemic, Royals manager Mike Matheny decided not to assign any permanent roles like closer or setup man for his bullpen. Instead, he left the option open for dominant relievers like Kennedy to enter games in earlier innings if he believed that they were in a position to change the course of the game. On August 15, Kennedy made his first starting appearance since 2018, pitching the first two innings of a bullpen game against the Minnesota Twins. At the end of the month, he was placed on the injured list when he suffered a left calf strain in the ninth inning of a game against the Chicago White Sox. Kennedy attempted to field a ground ball but began limping afterwards and had to be removed from the game. The injury limited Kennedy to only 15 appearances during the truncated season, during which he posted a 9.00 ERA and a 1.786 WHIP.
On February 23, 2021, Kennedy signed a minor-league contract with the Texas Rangers, a deal which included an invitation to spring training. The Rangers were under new general management from Kennedy's former Royals teammate Chris Young. When Texas released their opening day roster on April 1, Kennedy and fellow spring training invitee Matt Bush were both named to the 25-man roster. The oldest member of the Rangers' bullpen by three years, Kennedy entered the season expecting to serve as the team's setup man, but a series of season-ending injuries to Bush, José Leclerc, and Jonathan Hernández forced the team to turn to Kennedy as their closer. By May, Kennedy had secured nine saves in nine attempts, giving the Rangers the most saves in the American League. As the season progressed, the Rangers rarely held leads late into games, and they had less use for Kennedy as a closer. At the start of June, he had a brief stint on the injured list for a strained hamstring. In his half-season with the Rangers, Kennedy posted a 2.51 ERA and a 1.05 WHIP in 32 appearances, while successfully converting 16 saves in 17 opportunities.
Kennedy was part of a trade deadline package deal on July 30, 2021, that sent him, starting pitcher Kyle Gibson, prospect Hans Crouse, and cash considerations to the Philadelphia Phillies in exchange for pitcher Spencer Howard and prospects Kevin Gowdy and Josh Gessner. The Phillies, who had been struggling with both an unreliable bullpen and an injury-riddled starting rotation, acquired Kennedy hoping he would serve as a dependable closer. This allowed acting closer Ranger Suárez to join the rotation.
On March 16, 2022, Kennedy signed a one-year contract with a mutual option for 2023 with the Arizona Diamondbacks.