Esta línea surge el 9 de septiembre de 1980 tras la municipalización de la línea periférica P29, con el itinerario Pza. Castilla - Pinar de Chamartín.[1] El P29 tenía tres ramales: Plaza de Castilla a Pinar de Chamartín, Virgen del Cortijo y La Moraleja. Junto con las líneas P30 y P31, fue una de las tres últimas líneas periféricas privadas que pasaron a la EMT.
A la par que la línea 129 principal (Pza. Castilla - Pinar Chamartín, se crearon dos variantes derivadas de las variantes de la línea P29 municipalizada, la línea 129 con raya roja (Pza. Castilla - Virgen del Cortijo) y la línea 129 con raya verde (Pza. Castilla - La Moraleja), las cuales compartían parte del recorrido con la línea 129.
En 1990 desapareció la línea 129 con raya verde, que fue sustituida por las líneas interurbanas 155 y 155B, puesto que la línea excedía los límites del término municipal de Madrid. Unos años después, la línea 129 prolongó su recorrido hasta Manoteras, adoptando el itinerario actual, y en 2000, la línea 129 con raya roja dio lugar a la línea 229. Esta última conexión es prestada hoy con la línea 174.
En el año 2014 la línea 129 suspendió su servicio en domingos y festivos, fruto de una decisión del Consorcio de Transportes que afectó a 8 líneas de EMT Madrid.[2] Esta decisión fue revertida en 2018, cuando todas las líneas recuperaron el servicio habitual.[3]
La línea inicia su recorrido en la dársena 50 de la terminal de superficie del intercambiador de Plaza de Castilla, desde donde sale a la misma Plaza de Castilla y toma desde ella la calle Mateo Inurria. Recorre entera la citada calle hasta llegar a la Plaza del Duque de Pastrana, donde toma la Avenida de Burgos, que recorre hasta llegar a la intersección con la Avenida de San Luis, que toma girando a la derecha. Por esta avenida cruza sobre la M-30 y entra en la Ciudad Lineal girando a la izquierda para incorporarse a la calle de Arturo Soria.
A continuación, la línea recorre la calle de Arturo Soria hasta llegar a la intersección con la calle Jazmín, donde gira a la derecha para incorporarse a la misma, que recorre hasta el final, siguiendo de frente por la calle Roquetas de Mar, que recorre hasta la intersección con la calle Cuevas de Almanzora, que toma girando a la derecha.
Poco después, gira a la derecha por la calle Alicún, que deja en la siguiente intersección girando a la izquierda por la calle Vélez Rubio, que recorre hasta el final girando a la izquierda para tomar la calle Bacares, donde tiene su cabecera.
La línea inicia su recorrido en la calle Bacares, saliendo por la cual en dirección este llega al final y gira a la izquierda para incorporarse a la calle Cuevas de Almanzora.
A partir de aquí el recorrido de vuelta es igual al de ida pero en sentido contrario excepto en parte del recorrido por la Avenida de Burgos, que lo hace por la calle Bambú y la Avenida de Pío XII, pues ese tramo de la Avenida de Burgos es de sentido único.