Bottas is now guaranteed a seat for the 2019 season, while his new contract also includes the option for the team to keep him on in 2020.
"Valtteri's performances have been excellent. If not for our mistakes and his bad luck, he could be leading the drivers' championship," team boss Toto Wolff said in a statement.
"When we took the decision in favour of Valtteri for 2019, it wasn't just about his undoubted speed and work ethic, but also a question of character.
"His relationship with the team, including Lewis, is open and trusting, without any politics at all. Those are the ingredients you need when you're fighting strong rivals in both championships and they mirror the values inside the team."
Bottas added: "This year, with a full winter of preparation, I have been able to make a good step forward - and I believe that there is still more to come.
"We have not been so lucky in the races this year but the team knows how I am performing, and this is a great sign of confidence in me and my driving. We have a big battle on our hands right now, so it's good to have the future clear for everybody - it means we can have a full focus on the championship fight.
"Obviously, my goal is to keep performing at a high level - and to make it a no-brainer for the team when it comes to deciding their plans for 2020 as well."
Bottas currently sits fifth in the drivers' championship, 67 points adrift of leader Sebastian Vettel.