Saint-Germain est situé sur la rive droite de la Gartempe, dans la région Poitou-Charentes dans le département de la Vienne, à la limite de l'Indre.
Le territoire de la commune présente des traces d'occupation humaine du Paléolithique au Néolithique.
L'époque gallo-romaine est également présente dans la vallée avec la Voie romaine Poitiers-Bourges.