Todo mundo merece uma grande história de amor. Mas para, Simon Spier (Nick Robinson), um garoto de 17 anos, as coisas são um pouco mais complicadas. Preferindo guardar o seu drama para o musical da escola, ele ainda não contou para a sua família e amigos que ele é gay. E para piorar ele está apaixonado por um colega anónimo que ele conheceu na internet, e como se isso não fosse suficiente, Simon começa a ser chantageado por alguém que ameaça revelar seu segredo para todos.