The 25-year-old was released after an eight-year stay at Tannadice, having spent the second half of last season on loan at Hibernian.
He trained with the Easter Road club over the summer but an injury hampered his chances of a deal.
Watson will go straight into the squad for Friday's derby trip to Morton in the Championship.
"Keith was someone we looked at a couple of weeks ago in terms of someone who could play several positions and once we knew we needed a right back in he was our first name," manager Ian Murray told the club website.
"He's ready to go, he's fit and that's the main thing so he certainly comes into our thoughts for tomorrow night.
"To get someone of Keith's calibre, pedigree and experience is great. Now we've got to try and get him into our team, get him used to our system, get him used to our players."
St Mirren have signed former Dundee United defender Keith Watson on a contract until January.