In this paper, we introduce a user mobility modeling framework that accounts for both the users' social structure as well as the geographic diversity of the region of interest. SAGA, or Socially-and Geography-Aware mobility model, captures social features through the use of communities which cluster users with similar features such as average time in a cell, average speed, and pause time. SAGA accounts for geographic diversity by considering that different communities exhibit different interests for different locales; therefore, different communities are attracted to certain physical locations with different intensities. Besides introducing SAGA, the contributions of this work include: a model calibration approach based on formal statistical procedures to extract social structures and geographical diversity from real traces and set SAGA's parameters; and validation of SAGA by applying it to real mobility traces. Our experimental results show that, when compared to existing mobility regimes such as Random-Waypoint and Preferential-Attachment based mobility, SAGA is able to preserve the desired non-uniform node spatial density present in real user mobility, creating and maintaining clusters and accounting for differential node popularity and transitivity.