“The prime minister and Miss Symonds are very pleased to announce their engagement and that they are expecting a baby in the early summer,” the couple said in a statement.
The 55-year-old Johnson took office in July and led his Conservative Party to a decisive election victory in December.
The announcement means he will become the first British prime minister to marry in office for 250 years.
The Sun newspaper quoted a Downing Street source as saying “Boris and Carrie are both delighted at this news. They have both known for a while but have kept it under wraps until the pregnancy progressed.”
“It partly explains why he has been lying low recently - although he works flat out and that won’t change. Carrie is thrilled and she will also continue to work on her environmental projects,” the paper quoted the source as saying.
Johnson was previously married to Marina Wheeler.
“I wouldn’t normally post this kind of thing on here but I wanted my friends to find out from me,” Symonds, 31, said on Instagram, according to British media.
“Many of you already know but for my friends that still don’t, we got engaged at the end of last year... and we’ve got a baby hatching early summer,” adding: “Feel incredibly blessed”.
Recent British prime ministers’ wives have had babies while their husbands were in office
Former Conservative Prime Minister David Cameron’s wife Samantha had a baby daughter, Florence, in 2010.
Labour Prime Minister Tony Blair’s wife Cherie had a son, Leo, in 2000.
More about: Boris-Johnson