Mr Johnson did not rule out a reshuffle of his Cabinet in June, as he battles to remain in Downing Street after being fined over breaching his coronavirus laws.
“The answer to that is yes,” Mr Johnson said in India, where he is on an official visit.
But he declined to give a similar promise when asked about Ms Patel, who has failed to curb the number of migrants crossing the Channel in small boats.
“Hang on, you’ve just reminded me of rule number one, which I totally forgot about," Mr Johnson said.
"Rule number one: don’t talk about politicians, talk about what politicians can do for the electorate."
Mr Sunak was on resignation watch after the fines were issued but chose to stay on, in a move seen as helping the prime minister to fight another day.
Asked why he would guarantee Mr Sunak’s job and not others, he said: “Well there you go. Well, c’est la vie.
“Do you know, to repeat what I’ve just said, I am saying no more about personnel. The prosopographical approach is not right.”
Mr Johnson has stuck by Ms Patel despite an investigation by his then standards chief finding in 2020 that she broke the ministerial code with behaviour towards civil servants, which amounted to bullying.
The policy was regarded as an offer to shore up support among Conservative hardliners, as Mr Johnson suffers from the fallout of the party breaches at Downing Street.
Mr Johnson praised Ms Patel for doing an “outstanding job” on the asylum scheme, which has been heavily criticised by refugee charities, Conservative MPs and the Archbishop of Canterbury, Justin Welby.
Asked if the Rwanda policy saved Ms Patel’s job, the prime minister said: “Oh for heaven’s sake, honestly.
"I’m sorry I broke my rule. You’re not going to get any more out of me about politicians or Westminster politics narrowly conceived. We’ve got to focus on the agenda for the country.”
But he did vow to stay on in No 10, regardless of how many more fines he is given for breaking Covid laws.
Asked on the plane to Gujarat if he would fight the next general election, he replied: “Of course, yes.”