In his 10th season, Pujols is the 263rd player in major league history and the fifth Cardinal to get to 2,000.
The double came off Chicago reliever Carlos Marmol and drove in a run, giving St. Louis a 9-2 lead.
The crowd of 42,042 responded with a standing ovation. Pujols tipped his helmet to the fans.
The last Cardinals player to reach 2,000 hits was Hall of Famer Lou Brock on July 28, 1974. He did it 37 years ago Thursday against the Chicago Cubs' Oscar Zamora.