The toddler was found unresponsive in the water at Swanwick Lake, near Fareham, Hampshire, yesterday evening.
Emergency services dashed to the scene after being called at 8.21pm and firefighters managed to pull the boy from the lake.
He was then rushed 12 miles by ambulance to Southampton General Hospital, Hampshire, where police today said he was in a critical but stable condition .
Hampshire Constabulary have arrested an 18-year-old man from Southampton, who is known to the boy and is understood to have been with him.
The force has appealed for witnesses to come forward and has launched an investigation into the incident.