Vadstena is gelegen aan de oostelijke oever van het Vätternmeer in Zweden, op 16 kilometer ten zuidwesten van Motala en ten noorden van Jönköping.