The former Chelsea midfielder, 33, was a free agent having left Turkish side Trabzonspor by mutual consent in March.
Mikel made 249 Premier League appearances for Chelsea in an 11-year spell, which ended when he left Stamford Bridge in 2017.
He won the Champions League and Europa League, two Premier Leagues, three FA Cups and the League Cup during his time with the London club.
After leaving Chelsea he joined Chinese side Tianjin TEDA and had a brief spell at Middlesbrough in 2019.
Stoke boss Michael O’Neill said: “I was really impressed with him when we met for the first time and he outlined what he wants from the next phase of his career.
“We spent four hours talking and he made it clear he wants to get back into the Premier League and finish his career there and hopefully he can do that with Stoke City.”
Mikel won 89 caps for Nigeria, playing in two World Cups and helping the Super Eagles win the 2013 Africa Cup of Nations, before announcing his retirement from international football last summer.
Championship side Stoke won three of their last four games in 2019-20 to pull away from relegation trouble and finish 15th under former Northern Ireland boss O’Neill.