The 27-year-old joined the Sixways unit at the start of the 2018/19 season after stints with Glasgow Warriors and Edinburgh Rugby and has been instrumental in the club's success this year.
Weir has made 11 appearances for the Warriors in which he amassed 119 points and has a kicking accuracy of 91 per cent,
"I have really enjoyed pulling on the Warriors shirt and being out on the pitch so I am delighted to have signed a new contract.
“All the lads welcomed me with open arms when I arrived in the summer and I’ve felt at home from day one.
“These lads are all pulling in the same direction and working hard for each other, and that shows with the way we’ve been playing.
“My aim now is to help us get some more wins and keep pushing up the Premiership table.”
Meanwhile, Worcester director of rugby Alan Solomons lavished praise on Weir for his performance with the club this season.
“Duncan has shown that he is one of the best fly-halves in the Premiership. He has been a key player for us this season and has given the team real direction.
“His kicking has been superb and the experience he brings to the side has been invaluable so we are delighted to have him on board.”
Weir has played 27 Tests for Scotland since his debut in 2012 with his last appearance for the Dark Blues coming during the 2017 Six Nations clash against Italy.