Giovinazzi joined Alfa Romeo as a full-time driver in 2019, having competed in two races for it in 2017 when it contested under the name of Sauber.
The Italian picked up his first points in F1 at the Austrian Grand Prix earlier this year, and has followed it up with two other top-ten finishes.
At the Singapore Grand Prix, where he eventually finished tenth, Giovinazzi found himself in the lead of the race for four laps before he made a pit stop.
“I am very happy to be staying with the team for 2020," Giovinazzi said. "I am grateful for the incredible level of support I received in my first full season in Formula 1.
"Everyone in the team has stuck by my side since I joined and I am really looking forward to continuing our journey together. We learned a lot this year and I am confident we can make a big step forward next season.
"I won’t be a rookie anymore so there won’t be any excuses for me: I want to be competitive right from the start of the championship and repay the confidence the team has shown in me.”
The 25-year-old, who finished second in the 2016 GP2 championship, currently sits in 18th place in the drivers' championship.
Alfa Romeo team principal Frederic Vasseur highlighted that the team is looking forward to extracting the full potential from Giovinazzi in 2020.
"Antonio has done really well this year and I am extremely pleased to be able to confirm he will stay with Alfa Romeo Racing for 2020," said Vasseur.
"The way he has integrated into the team and has consistently improved throughout his first full season in the sport are very promising and we cannot wait to unlock his full potential as we continue to work together.
"Antonio has emerged as a very quick driver, even alongside as tough a benchmark as Kimi, and we expect him to develop even further as his experience grows.
"His technical feedback, work ethics and positive approach will help us continue to push our team forward, and so will the consistency of an unchanged line-up for next season."
Bahrain International Circuit - Winter testing