É comum lutar contra dragões na ilha de Berk. Soluço (Jay Baruchel) é um jovem bastante sarcástico, um viking adolescente que não combina muito bem com a tradição de sua tribo de heroicos matadores de dragões.
São inúmeras as vezes que ele bate de frente com seu pai, Stoico (Gerard Butler), o chefe da tribo local. Quando entra para o Treino com Dragões, juntamente com outros jovens vikings, Soluço acredita ser esta sua grande chance de provar que pode ser um grande guerreiro.
É quando ele encontra um dragão que desafia tanto ele quanto seus companheiros vikings a encararem o mundo de um ponto de vista totalmente diferente. Só que seu mundo vira do avesso ao se tornar amigo de um dragão ferido.