"We found out eight weeks ago we were expecting," Phelps wrote alongside a sweet photo of the couple.
Phelps added: "Today we're over 12 weeks and it looks like we're having a boy #babymp #mp #lifeabouttochange."
The swimmer is pictured next to the pool holding a mini pair of trunks with the initials 'MP' on the front.
Mum-to-be Johnson shared the same picture on her Instagram account with her own announcement.
"Today marks 12 weeks and 5 days of us having a little one and yesterday we learned we're having a BOY. We couldn't be happier! #babymp."
Phelps and the former Miss California began dating in 2009 and have been on and off for six years. They got engaged in February 2015.