One of the most convincing gay characters in a movie is Jack Twist played by Jake Gyllenhaal in Brokeback Mountain. While Jack wants to be a cowboy figure – staunch, rugged, and manly, he is confused by his feelings for other men. Even though Jake is, in fact, straight in real life, he carries out the role of a gay man engaging in gay sex, very well.
It seems only natural to include Heath Ledger in this list because, like Jake Gyllenhaal, he played the role of a gay cowboy very well in Brokeback Mountain. Like Jake, he was able to separate his actual sexual orientation to become gay, engaging in gay sex with as much realism as you can get.