Tam Dương có ranh giới phía Tây Bắc và phía Tây giáp huyện Lập Thạch, phía Đông Nam giáp thành phố Vĩnh Yên, phía Tây Nam giáp huyện Vĩnh Tường, phía Đông giáp huyện Bình Xuyên, Đông Bắc và phía Bắc giáp huyện Tam Đảo.
Tam Dương là một huyện trung du, địa hình đồi thấp là chủ yếu. Phần phía Tây huyện có con sông Phó Đáy, một phụ lưu của sông Lô, chảy qua. Diện tích tự nhiên của Tam Dương là 107,13 km².
Dân số của huyện Tam Dương, theo thống kê năm 2003 là: 92.624 người.