The 25-year-old, who trains with the British Swimming National Centre Bath, produced another brilliant swim to set a lifetime best of 2:07.78 in a fiercely-fought final that saw the entire field separated by less than a second.
A blanket finish saw Kazakhstan’s Dmitriy Balandin take gold in the outside lane in 2:07.46, with American Josh Prenot (2:07.53) and Russia’s Anton Chupkov (2:07.70) completing the podium.
Chemical Engineering graduate Willis, who was eighth in the London 2012 final four years ago, has now finished fourth at four major events – the Olympics, two World Championships and a European Championships – and admitted he had mixed emotions after the race.
“I gave it everything and I stuck to my plan to go out quick, pace myself then come back strong. When I touched, I knew I was up there.
“It was another solid time for me so I knew that would be there or thereabouts. I’ve progressed my times and I kept my head as well.
“The positive is it’s a higher finish than London 2012. I do feel like I approached that final in the right way and that’s why it’s all the more disappointing that I’ve finished just short.”
— AntwhistleG (@AntwhistleG) August 11, 2016
Training partner Siobhan-Marie O’Connor, fresh from winning 200m individual medley silver, returned to the Olympic pool as part of the Team GB quartet that narrowly missed out on qualification for the women’s 4x200m freestyle relay, finishing ninth overall in 7:54.17.
Jazz Carlin begins her challenge for a second Olympic medal on Thursday when she races in the 800m freestyle heats at 6.02pm BST. Among her opponents in heat four is America’s Katie Ledecky, who took gold ahead of Carlin in the 400m freestyle earlier this week.