ARGUMENTO
La trama gira alrededor de dos personajes: Hugo Olivera "Hache" (Mario Casas) y Bárbara Alcázar "Babi" (María Valverde). Hache es un joven motero de actitud rebelde: indisciplinado, temperamental, competitivo, provocador y con un tormentoso pasado. Por otro lado, Babi es la definición de una «chica bien»; una adolescente acomodada, inocente y caprichosa, pero decidida, con unos padres sobreprotectores.
La película comienza con Hache saliendo de un juicio, acusado de golpear al amante de su madre. Mientras tanto, Babi acude su escuela, siendo en ese momento cuando Hache y Babi tienen su primer encuentro.
Hache se reúne con sus amigos moteros, entre los que está Pollo (Álvaro Cervantes), su mejor amigo. Por su parte, Babi acude a una fiesta junto a su hermana Daniela (Nerea Camacho). Uno de los amigos de Hache decide «invitarlos» a la fiesta privada, donde los moteros se cuelan. Allí, Hache y Babi vuelven a encontrarse, acabando los dos en la piscina de la casa. Es en esa misma fiesta, donde Pollo conoce a Katina (Marina Salas), la mejor amiga de Babi.
Mientras volvía a casa en el coche de su ex-novio, los moteros de Hache empiezan a acosarlos en mitad de la autopista, ya que él fue el que llamó a la policía para delatarlos. Hache termina golpeando al ex-novio de Babi, el cual se termina marchando, por lo que Hache tiene que llevarla a su casa. Al día siguiente, Hache acompaña a Pollo a buscar a Katina al instituto, lo que termina en el tercer encuentro entre Hache y Babi. Poco después, Katina le informa a Babi que ha empezado a salir con Pollo.
Los padres de Babi le comunican que Hache ha sido denunciado por las lesiones que le provocó a un transeúnte mientras perseguía al ex-novio de Babi, y Babi delata a Hache. Cuando sus padres se acuestan, Babi recibe una llamada de los padres de Katina, que creen que se ha quedado a dormir en su casa cuando en realidad está en el puerto con Pollo, Hache y los demás moteros donde se juntan para organizar carreras ilegales. Babi acude al lugar para traer a Katina de vuelta pero en lugar de ello tiene un encontronazo con Hache. Resulta que en las carreras que celebran, los moteros corren con una chica atada a su espalda (las siamesas); Babi, enfadada con Hache, se sube a la moto de Chino (Luis Fernández), el rival de Hache con el objetivo de fastidiarle, pero Hache le roba el pañuelo que Babi lleva alrededor del cuello y se lo ata a la muñeca a modo de amuleto para correr contra Chino. La carrera es interrumpida cuando se produce un accidente y llega la policía. Teniendo que escapar, Babi se sube a la moto de Hache (y un policía logra sacarles una foto mientras intentaba conseguir el número de matrícula de la moto). Hache deja a Babi en medio del campo para despistar a los policías, cuando vuelve encuentra a Babi embadurnada de estiércol de arriba a abajo, y Hache se ofrece a llevarla a casa con la condición de que se quite la ropa sucia. Cuando llegan a casa de Babi, Hache hace un amago de besarla pero se lo niega en el último momento, burlándose de ella. La foto que el policía sacó a Hache y Babi durante la huída llega a la prensa, así que Hache decide imprimirla en un mural gigante y colarse en casa de Babi para colgárselo del techo, justo encima de la cama. Varios días después, Katina ofrece a Babi a acompañarla con Pollo y los moteros a una discoteca y trata de persuadirla diciéndole que Hache la está esperando, en un principio rechaza la oferta...pero al ver el mural que Hache ha pegado al techo se ríe y decide ir a la discoteca a buscarle, donde se encuentran, bailan y acaban besándose por primera vez.
Un día Hache decide ir a buscarla a la salida del instituto para llevarla de viaje. Durante el mismo, Babi descubre qué es lo que ocurrió en el pasado que tanto atormenta a Hache: su madre se estaba acostando con su vecino, lo que provocó que Hache lo golpeara y después se marchara de casa para irse a vivir con su hermano mayor, Álex (Diego Martín). Finalmente, Hache y Babi llegan a una playa, donde pasan el día juntos.
Hache y Babi ya muestran su relación abiertamente, lo que causa el resentimiento de Mara (Andrea Duro), un antiguo ligue de Hache que está enamorada de él. Es entonces cuando Hache y Babi pasan la noche en una casa de la playa, donde se acuestan por primera vez.
Poco después, los padres de Babi hacen acto de presencia. El padre de Babi está al tanto de la relación que mantiene su hija con el motero y acude a casa de Hache para conocerlo; revela que está al tanto de su relación y muestra su desconfianza, pero Hache confiesa que está enamorado de ella y que ha conseguido cambiarlo. No obstante, su madre no está dispuesta a permitir que ambos salgan y confronta abiertamente a su hija. Es después de que Chino y Mara robaran un anillo de casa de Babi y de que Hache secuestrara al perro de su profesora para evitar que siguiera perjudicándola, que Babi se harta y decide que ambos deben darse un tiempo.
Babi celebra la fiesta de su décimooctavo cumpleaños. Hache aún tiene pendiente su carrera de revancha con Chino, pero decide presentarse en la fiesta de Babi de improviso, lo que culmina en su reconciliación. Mientras tanto, Pollo decide correr por él contra Chino, con Katina atada a su espalda. Durante la carrera, Pollo se cae de la moto. Tras ser informados, Hache y Babi tienen que acudir al lugar del accidente, donde observan el cadáver de Pollo. Babi acusa a Hache de ser el causante de la muerte de su amigo, lo que hace que él responda golpeándola y marchándose cada uno por su lado.
Tras un tiempo sin verse, Hache descubre que Babi ha comenzado a salir con otro joven y trata de ponerse en contacto con ella, pero tanto Babi como su madre lo evitan. Tras darse cuenta de que la ha perdido, Hache decide que es tiempo de pasar página y le revela a su hermano Álex que ha decidido irse a trabajar a Londres. Ambos se reúnen en la playa en la que estuvo con Babi, dándose cuenta en ese momento que él y ella ya se habían conocido hacía mucho tiempo. Hache y Alex se suben a la moto del primero y se pierden en el horizonte de la carretera.