Moonlight
(2016)

Chiron (Ashton Sanders) is bullied by the other boys, who suspect he is gay. He and his best friend Kevin (Jharrel Jerome) share a private romantic moment on the beach. School bully Terrel (Patrick Decile) later goads Kevin into beating up Chiron. Chiron attacks Terrel the next day, for which he is sent to prison.

Years later the adult Chiron (Trevante Rhodes) is mimicking his late mentor Juan (Mahershala Ali), dealing drugs, working out and maintaining a tough persona. Kevin (Andre Holland) calls him unexpectedly, saying he was just thinking about him. Chiron makes the trip to see him. Kevin is surprised to see how different Chiron seems from the gentle boy he knew, and says this new appearance isn't the real him. After spending time together Kevin presses Chiron to tell him why he's there. Chiron tells him that no one had touched him before that night on the beach, and no one has touched him since. 

The two embrace as they did on that long ago night. 

Thanks Taiga!

IMDB