Bailey Johnson was found by police at an address in South Dunedin, nearly 24 hours after she went missing at 12.30pm yesterday.
The search centred on her maternal grandmother Yvonne Skeet, who was alleged to have driven away from the market with the girl without the permission of the child's legal guardian.
Police, who appealed last night for sightings of the pair, thanked members of the public for the "excellent response and valuable information provided".
A 47 year old woman has been charged with abduction and will appear in the Dunedin District Court tomorrow.