Jamieson was in top form as he eclipsed his opposition in a time of 2:08.20, leaving American Clark Burckle in his wake and easing through to Wednesday’s final.
“This is so amazing,” said Commonwealth silver medallist Jamieson. “Every time I’ve come out here I get goosebumps walking behind the blocks.
“It’s really something special and it’s helped me this week, I know that. I’m really happy with the time.”
Willis also hit top form with an English record of 2.08.47 in the second semi-final as he also secured his place in Wednesday’s showdown.
“That is unbelievable,” said Willis after finishing second in his semi-final. “I wasn’t nervous, more excited. The crowd really helped me out there. Both me and Michael Jamieson are in the final.
“Just knowing that your mate is there is great, as it is for our coach as well. I wanted to be in the final and I’ve done that. I’ll be in a middle lane, enjoying it.”
Both men will face tough opposition from Japan’s Kosuke Katajima, the defending champion who has posted the fastest time in the world this year, as well as compatriot Ryo Tateishi.
Elsewhere, Gemma Lowe has made it through to Wednesday’s 200m butterfly final after a fifth-place finish in her semi-final.
Team GB men’s relay team came sixth in the 4×200 metres freestyle final, with the American dream-team cruising to gold. Michael Phelps made history by claiming his 19th Olympic medal – the most medals won to date.
Hannah Miley finished seventh in the 200m individual medley final that saw China’s 16-year-old phenomenon Ye Shiwen claim gold in an Olympic record time.
“I’m so happy I’ve made it in the final,” Miley said. “I was 11th last time and seventh now. I’m really chuffed with how this meet’s gone, and it’s been so much better than Beijing. As a swimmer I’ve loved every moment of it.”
Meanwhile, Caitlin McClatchley finished seventh in the women’s 200m freestyle final as American Allison Schmitt sealed victory in an Olympic record time of 1:53.61.
MORE: The latest football news
MORE: The latest tennis news
BIOGRAPHY: Lucas Torreira