McCain, a Vietnam War veteran who serves as the chairman of the Senate Armed Services Committee, also defended the top U.S. commander in Afghanistan, Gen. John Nicholson, following criticism from the president.
“General John Nicholson has served our country with honor and distinction for 35 years. He has earned the trust and admiration of those he has served with. And he has earned my full confidence," McCain said.
Trump had pushed to fire the general during a meeting with his national security team last month, saying the United States is “losing” the war, NBC News reported on Wednesday.
The Republican lawmaker has not shied away from criticizing the Trump administration for its lack of strategy in the war-torn country.
He has also bucked the administration's push on healthcare, casting the deciding vote last week to kill a scaled-down ObamaCare repeal bill, halting healthcare reform efforts in the Senate.