On August 26, 2003, Bay was traded to the Pittsburgh Pirates, along with Óliver Pérez and Cory Stewart in exchange for Brian Giles. He finished the season with a .287 batting average, four home runs, and 14 RBI in 30 games.