Napoli attended Charles Flanagan High School in Pembroke Pines, Florida. He was drafted out of high school by the Anaheim Angels in the 17th round (500th overall) of the 2000 Major League Baseball Draft.
Napoli began his professional career with the rookie-level Butte Copper Kings, but sat out most of the year after suffering a lower back strain. He returned to the diamond in 2001 with the High-A Rancho Cucamonga Quakes before transferring to Single-A Cedar Rapids. In 2002, he returned to Cedar Rapids, hitting .251 with 10 home runs and 50 RBI as the Kernels' primary designated hitter. He also started at catcher for 37 games. After being transferred to Rancho Cucamonga in 2003, Napoli only played 47 games after injuring his right shoulder.
2004 was Napoli's breakout year with the Quakes. His offensive production exploded, as he hit .282 with 29 home runs and 118 RBI, ranking seventh in RBI and ninth in walks in all of the minor leagues. In 2005, Napoli was promoted to Double-A Arkansas, finishing second in the league in extra-base hits and fifth in runs scored.
Napoli played for the Santiago "Las Aguilas" in the Dominican Republic during the winters of 2004 and 2005.
Napoli was behind his best friend, Angels prospect Jeff Mathis on the organizational depth chart to start the 2006 season. However, Mathis struggled during his 23-game stint at the major league level to begin the season, allowing Napoli to make the active roster for the Angels. With solid offensive and defensive numbers, Napoli has worked his way to become the Angels' regular starting catcher. In 2008, Napoli hit .273 with 20 home runs in only 273 at-bats.
On April 11, 2009, Napoli hit two home runs in a game against the Boston Red Sox, both off starter Brad Penny. However Jason Bay, of the Red Sox, also hit a pair of homers, and the Angels lost the game 5-4.