Gmina wiejska położona w zachodniej części powiatu nowosądeckiego. Siedzibą urzędu gminy jest wieś Podegrodzie.
Obszar gminy wynosi 63,74 km² (ok. 4,11% powierzchni powiatu), w tym: użytki rolne 66%, użytki leśne 23%. Gminę zamieszkuje 12 011 osób (ok. 5,90% ogółu mieszkańców powiatu), w tym 6 036 kobiet i 5 975 mężczyzn (30.06.2010). Wskaźnik gęstości zaludnienia wynosi 188,44 osób/km².
Gmina obejmuje 13 wsi: Brzezna, Chochorowice, Długołęka-Świerkla, Gostwica, Juraszowa, Mokra Wieś, Naszacowice, Olszana, Olszanka, Podegrodzie, Podrzecze, Rogi, Stadła. Podzielona jest na sołectwa, które pokrywają się z miejscowościami.
Graniczy od północnego wschodu z gminą Chełmiec, od wschodu z miastem Nowy Sącz, od południowego wschodu z gminą Stary Sącz, od południa z gminą Łącko, od zachodu z gminą Łukowica (powiat limanowski) oraz od północnego zachodu z gminą Limanowa (powiat limanowski).