Harris was ranked the No. 2 offensive tackle available in the 2003 NFL Draft, behind only Jordan Gross. He was selected in the first round of the 2003 NFL Draft with the 26th overall pick by the San Francisco 49ers, and he played five seasons with the team. He started 37 consecutive games from 2004–2007, beginning with the final five games of 2004 at left tackle, followed by 32 games at right tackle the two years after. Harris was a good run blocker, but he was inconsistent on pass protection, struggling to block defensive linemen while frequently committing penalties. He allowed nine sacks and committed 15 penalties including seven false starts in 2005, and eight sacks with four holding penalties and one false start the following year. The 49ers drafted Joe Staley in the first round in 2007, and he won the starting job at right tackle as Harris was relegated to a backup role in his final year.