The plane carrying 143 people including crew from Guantanamo Bay in Cuba ended in shallow water next to the air station in Jacksonville, with all passengers safely evacuated, naval authorities said.
"There were 136 passengers and seven aircrew on board and all have been accounted for," Naval Air Station Jacksonville said in a statement.
Twenty-one adults were taken to local hospitals, but none were critically injured, Jacksonville sheriff's office said on Twitter.
Others were treated for minor injuries at the scene.
Navy security and emergency response personnel including some 90 firefighters attended the scene.
Images showed the plane lying partially submerged in water after the crash-landing.
"All alive and accounted for. Our Fire and Rescue teams are family to all," Mayor of Jacksonville Lenny Curry tweeted.
Teams were working to control jet fuel spilling into the St Johns River, he added.
The "Rotator" flight from the US base in Cuba carries military personnel and family members.
Boeing said it was aware of the incident and gathering information.