The two veterans join Eden Dzeko, 33, who last month signed a contract extension, in the Roma attack.
Meanwhile, Roma sent Patrik Schick, a 23-year-old Czech striker, on loan to RB Leipzig.
Roma said they had an option to buy the 31-year-old Kalinic, a member of the Croatia squad that reached the 2018 World Cup final, for 9 million euros ($9.9 million). Last season, he made 20 appearances and scored twice for Atletico. He has previously played in Italy for Fiorentina and AC Milan.
Mkhitaryan, a 30-year-old Armenian, played at Shakhtar Donetsk and then Borussia Dortmund before moving to England, first to Manchester United and then to Arsenal, as part of the deal for Alexis Sanchez.
He made his last appearance for the Gunners as a substitute as they were held at home by Tottenham on Sunday
As two attacking players arrived on loan, another left Roma. The club sent Schick to Leipzig, who have an option to buy for 29 million euros ($), if they qualify for the Champions League again next season.
The 23-year-old has played 58 games for Rome and scored eight goals.
The Bundesliga club were plugging their own gap. Leipzig said they needed another attacker after loaning Jean-Kevin Augustin to Monaco on Sunday.