An All-Star in 2009, Ibañez won the Player of the Week Award five times. In spite of not reaching 500 plate appearances in a single season until the age of 30, Ibañez batted .272 with 424 doubles, 305 home runs and 1,207 runs batted in (RBI) over nineteen major league seasons. He had eight seasons with at least 20 home runs, two seasons with at least 30 home runs, six seasons with at least 90 RBI, four seasons with at least 100 RBI, and ten consecutive seasons (2002–2011) with at least 30 doubles. In 2004, Ibañez tied an American League record with six hits in one game.

Ibañez was selected by the Seattle Mariners in the 37th round of the 1992 Major League Baseball draft. Ibañez played as a catcher and outfielder at various levels in the Mariners minor league organization. He began his professional career with the rookie-level AZL Mariners in 1992. Ibañez batted .308 with 37 hits, 8 doubles, 2 triples, 1 home run, and 16 RBIs in 33 games that season. The next season, 1993, Ibañez split the season between the Class-A Short-Season Bellingham Mariners, and the Class-A Appleton Foxes. He batted a combined .278 with 81 hits, 14 doubles, 2 triples, 5 home runs, and 36 RBIs in 95 games. Ibañez played for the Class-A Appleton Foxes again in 1994, and batted .312 with 102 hits, 30 doubles, 3 triples, 7 home runs, 59 RBIs, and 10 stolen bases in 91 games. That season, Ibañez led the team in RBIs, and doubles.[5]

Ibañez at bat on August 2, 2008 against the Baltimore Orioles

In 1995, Ibañez was promoted to the Class-A Advanced Riverside Pilots of the California League. He batted .332 with 120 hits, 23 doubles, 9 triples, 20 home runs, and 108 RBIs in 95 games. Ibañez was second in the league in RBIs, and was tied for seventh in the league in home runs.[6] Ibañez played for two minor league teams in 1996. He started the season with the Double-A Port City Roosters where he batted .368 with 28 hits, 8 doubles, 1 triple, 1 home run, and 13 RBIs in 19 games. He was later promoted to the Triple-A Tacoma Rainiers where he batted .284 with 115 hits, 20 doubles, 3 triples, 11 home runs, and 47 RBIs in 111 games.

On August 1, 1996, after being called up from the minor leagues, Ibañez made his first major league appearance against the Milwaukee Brewers.[7] That season, Ibañez appeared in four games and went hitless.[8] In 1997, Ibañez began the season in the minor leagues with the Triple-A Tacoma Rainiers. He batted .304 with 133 hits, 30 doubles, 3 triples, 15 home runs, 82 RBIs in 111 games. On August 10, Ibañez made his first appearance of the season in the majors against the Chicago White Sox.[9] He got his first major league hit, a triple, on August 16 against White Sox's pitcherDoug Drabek.[10] On September 27, Ibañez hit his first major league home run against the Oakland Athletics' pitcher Mike Oquist.[11] After 11 games in the majors, Ibañez batted .154 with 4 hits, 1 triple, 1 home run, and 4 RBIs.[12]

Ibañez started the 1998 season with the Triple-A Rainiers and batted .216 with 41 hits, 8 doubles, 1 triple, 6 home runs, and 25 RBIs in 52 games. Ibañez was called up in August to the majors and batted .255 with 25 hits, 7 doubles, 1 triple, 2 home runs, and 12 RBIs in 37 games.[13]

Ibañez played the majority of the 1999 season with the Mariners, however, he did spend 8 games with the Triple-A Tacoma Rainiers and batted .335 with 11 hits. In 1999 with the Mariners, Ibañez batted .254 with 54 hits, 7 doubles, 9 home runs, and 27 RBIs in 87 games.[14] Ibañez hit the first grand slam home run in Safeco Field history, at the park's third-ever game.[15]

In 2000, Ibañez again split the season between the Mariners and the Triple-A Rainiers. With the Rainiers, Ibañez batted .250 with 10 hits, 4 doubles, and 6 home runs in 10 games.[16] Ibañez appeared in 92 regular season games with the Mariners in 2000. He batted .229 with 32 hits, 8 doubles, 2 home runs, and 15 RBIs.[17] Ibañez appeared in three games in the 2000 American League Division Series and in 8 at-bats got 3 hits.[18] During the next round of the playoffs, the 2000 American League Championship Series, Ibañez appeared in six games and went hitless. He became a free agent after the season.[19]

Ibañez was signed by the Kansas City Royals as a free agent before the 2001 season. In 2001 with the Royals, Ibañez batted .280 with 78 hits, 11 doubles, 5 triples, 13 home runs, and 54 RBIs in 104 games. He also played with the Triple-A Omaha Royals for 8 games and batted .148 with 4 hits.[20] The next season, 2002, Ibañez played the entire season in the majors for the first time in his career. On June 9, Ibañez hit a walk-off home run against St. Louis Cardinals' pitcher Mike Timlin to give the Royals a three-to-two win.[21] On June 26, Ibañez hit a double, triple, and a home run in the same game against the Detroit Tigers.[22] About the opportunity to play everyday, Ibañez said this:

“

[During my career], my confidence sometimes wavered because I wasn't playing as much. I put a lot of pressure on myself to perform. But I knew if I got an opportunity to play consistently then I would be able to perform.

At the end of 2002, Ibañez batted .294 with 146 hits, 37 doubles, 6 triples, 24 home runs, and 103 RBIs in 137 games. His 6 triples stood as his career high. Ibañez was second on the team in doubles, and RBIs; and was tied for second in triples, and home runs.[24] Ibañez received the Joe Burke Special Achievement Award as voted upon by the Kansas City, Missouri chapter of the Baseball Writers' Association of America.[25]

Before the start of the 2003 season, Ibañez filed for salary arbitration.[26] The Royals avoided arbitration hearings with Ibañez after he accepted their one-year $3 million contract offer.[27] In 157 games with the Royals, Ibañez batted .294 with 179 hits, 33 doubles, 5 triples, 18 home runs, and 90 RBIs.

After three seasons with the Royals, Ibañez returned to Seattle in 2004 and had a career-high .304 batting average. He also collected a 24-game go-ahead RBI string, matched a club record by reaching base 11 consecutive times, set a career-high and a club record and matched the American League record with six hits, and joined Ichiro Suzuki as only Mariners ever with two five-hit games in one season. He also ranked third among qualifying big league left fielders in UZR, an all-inclusive fielding statistic.[28]

With Edgar Martínez retired, Ibañez moved to the DH spot before the 2005 season. In 2005, Ibañez hit .280 with 20 home runs and 89 RBIs. The Mariners acquired the switch hitting designated hitter Carl Everett from the Chicago White Sox during the 2005 offseason, forcing Ibañez to move back to where he played before, namely left field.[29] Ibañez enjoyed his most productive season with the Mariners in 2006, when he collected career-highs in home runs (33), RBIs (123), doubles (33) and triples (5), and hit .289 with 103 runs.[30]

In 2007, the Mariners acquired José Vidro to assume the role of DH. Ibañez moved back out to left field and posted a .291 batting average with 21 home runs, 105 RBI, 80 runs and 35 doubles in 149 games.[31] Ibañez hit 12 home runs and 55 RBIs with a .321 batting average in the second half of the 2008 season. He finished the season with a .293 batting average, 23 home runs, 110 RBI, 85 runs and a career-high 43 doubles by playing 162 games that year.[32]

On December 16, 2008, Ibañez signed a 3-year, $31.5 million deal with the Philadelphia Phillies.[33] On April 9, 2009, Ibañez hit his first home run as a member of the Phillies, a deep, two-run shot to right field at Citizens Bank Park.[34] Ten days later, on April 19, he hit a 2-run, walk-off home run to help the Phillies defeat the San Diego Padres. He hit his eighth career grand slam on April 27 as part of an eighth-inning comeback to help defeat the Washington Nationals at Citizens Bank Park.[35]

In voting for the 2009 All Star Game, Ibañez received the second-most votes for a NL outfielder with 4,053,355, trailing only the Brewers' Ryan Braun (4,138,559).[36] In the World Series, he batted .304 with four doubles, a home run and four RBI. In 134 regular season games, the 37-year-old Ibañez hit .272 with 32 doubles, 93 runs and 93 RBI. He posted career-highs in home runs (34), slugging percentage (.552), and OPS (.899). He had a .991 fielding percentage with two errors in 129 games in left field. He also ranked fourth among qualifying big league left fielders in UZR.[37] Ibanez was the left fielder in Roy Halladay's perfect game on May 29, 2010.[38]

Ibañez with the Phillies in 2011

During the 2010 season, Ibañez played in 155 games with a .275 average, 37 doubles, 16 home runs, and 83 RBI.[39] In 2011, on defense he had the lowest range factor of all major league left fielders, at 1.60.[40] He played 144 games with a .245 average, 31 doubles, 20 home runs, and 84 RBI.

On February 20, 2012, Ibañez agreed to a contract worth $1.1 million with the New York Yankees.[41] The deal was made official one day later.[42] Ibañez struggled during spring training.[43] When Brett Gardner suffered an injury in April, Ibañez saw increased playing time in left field against right-handed pitchers.[44]

On September 22, Ibañez hit a game-tying home run in the 13th inning of a game against the Oakland Athletics.[45] In the second to last game of the regular season, Ibañez hit a pinch hit home run in the ninth inning and a game-winning RBI single in the 12th inning to keep the Yankees one game ahead of the Baltimore Orioles in the division.[46] During the regular season, Ibañez appeared in 130 games, hitting .240 with 19 home runs and 62 RBI.[47]

In Game 3 of the 2012 American League Division Series against the Orioles, Ibañez pinch hit for Alex Rodriguez and hit home runs in consecutive at bats. He hit the first home run off of Jim Johnson to tie the game 2–2 in the bottom of the 9th inning; the second one came off of Brian Matusz in the bottom of the 12th—a walk-off home run to give the Yankees a 3–2 victory and a two-games-to-one series advantage. The pinch-hit performance set several major league records: he became the first player in major league history to hit two home runs in a postseason game he did not start;[48] the first to hit two home runs in the 9th inning or later of a postseason game;[49] the oldest player to hit a postseason walk-off home run;[49] and the oldest player to hit two home runs in a postseason game.[49]

Two days later in the deciding game 5 against the Orioles, Ibañez ended a scoreless tie with a single in the bottom of the 5th inning. The Yankees would rally around Ibañez, and win the game 3-1 and win the series. The next day, Ibañez once again hit a game-tying home run in the bottom of the 9th inning, this time in Game 1 of the 2012 American League Championship Series against the Detroit Tigers, becoming the first player ever to hit 3 home runs in the 9th inning or later in a single postseason. Despite the Yankees losing the series to the Tigers, Ibañez became a beloved New York sports figure. [50]

On December 22, 2012, Ibañez agreed to a one-year deal worth $2.75 million with Seattle. The deal was made official four days later.[51] Ibañez hit .158 in April, but rebounded in May by batting .297 with 7 HR and 17 RBI.[52] On July 2, he hit his 20th HR of the season. Fifth most in the American League at the time, he became the oldest player in major league history to hit 20 HR before the All-Star break.[53] On September 21, Ibañez hit his 29th home run, tying Ted Williams for most home runs in a season by anyone 40 or older.[54] After the season, Ibañez was honored with the Hutch Award.[55] During the 2013 season, Ibañez batted .242 with 29 home runs and 65 RBI in 124 games played.

On December 27, 2013, the Los Angeles Angels of Anaheim and Ibañez officially agreed to terms on a one-year contract.[56][57] On May 15, 2014, in the bottom of the 9th inning, Ibañez hit game-tying three run home run off of New York Mets pitcher José Valverde, in which the Angels lost by a solo home run by Anthony Recker, later in the game, by a final score of 6-7. On June 21, the Angels released Ibañez.[58] In 57 games with the Angels, Ibañez hit .157 with 3 home runs and 21 RBIs.

With the team struggling with a 48-50 win-loss record on July 21, following comments by manager Ned Yost that the team needed to improve its play, Ibañez led a players-only meeting, which players including Eric Hosmer and Lorenzo Cain credited with turning around the attitudes of the players. The Royals then won 24 of their next 30, secured a wild card berth, and reached the 2014 World Series, losing to the San Francisco Giants.[61] Ibañez was not on the Royals' postseason roster.

Having interviewed for the Tampa Bay's managerial position vacated by Joe Maddon, the club named Ibañez as one of three finalists on November 21, 2014. He had not yet officially retired as a player at the time.[62]