Ennen yötä (Before Night Falls) on kirjailija Reinaldo Arenasin elämäkerrallinen elokuva. Reinaldo Arenas syntyi absoluuttiseen köyhyyteen Kuubassa 40-luvulla. Hänen kirjalliset lahjansa nostivat hänet 60-luvulla esiin ja hyvin nopeasti myös vaikeuksiin Castron hallinnon kanssa jota hän kiperästi arvosteli. Arenasin homoseksuaalisuus teki Kuuban hallinnolle helpoksi hänen mustamaalaamisensa ja vangitsemisensa. Hän onnistui kuitenkin 1980 pääsemään Yhdysvaltoihin mutta kuoli 10 vuotta myöhemmin AIDS:n uhrina edelleen köyhyydessä.
Avainsana: Kuuba
David (Vladimir Cruz) kokee kiusalliseksi selvästi homona pitämänsä itseään vanhemman miehen lähestymisen kahvilassa. Diego (Jorge Perugorría) ei kuitenkaan ota kuuleviin korviinsa Davidin vihjeitä, kylmäkiskoisuutta tai protesteja vaan vie nuoren miehen kotiinsa kirjojen ja valokuvien houkuttelemana. Eletään vuotta 1979 Havannassa Kuubassa ja monet asiat Diegon asunnossa kertovat Davidille, että kunnon kommunistina hänen pitäisi pysytellä kaukana Diegosta. Davidin opiskelukaveri kuitenkin ajaa häntä selvittämään lisää asioita tästä vastakumouksellisesta homosta ja miesten suhde alkaa syventyä.
Jean-Pierre Muller (Jean-Claude Brialy) herää kuubalaisen rakastajansa, Armandon (Antonio Interlandi) vierestä huomattavan tyytyväisenä vaikka herätyskello on tehnyt lakon ja hän on myöhässä. Hänellä ei ole aavistustakaan siitä, että oikeus on langettanut hänelle 17-vuotiaan Antoinen (Julien Bravo) huoltajuuden kun vapaaehtoisia ei löydy. Pojan ilmestyminen kuvioihin pistää Jean-Pierren elämän sekaisin ja hätiin kutsutaan Alice (Sabine Haudepin), jonka kanssa Jean-Pierre solmi mukavuusavioliiton vuosia sitten. Tarvitaan kulissi oikeutta ja sosiaaliviranomaisia varten jotta hakemus huoltajuuden kumoamiseksi menisi läpi, sillä professori Muller on aivan liian kiireinen uuden tehtävänsä kanssa ehtiäkseen huolehtia vastentahtoisesta teinistä.