1) When they first met. She was a stunning woman and Sumner was a dick. If John was going to be in the shit for everything anyway, he might as well take something good from it.
2) Just after he really had, when he'd recognized he was letting the Wraith virus take control. Even caught by surprise, Teyla hadn't taken him down and he knew he loved her all the more because she wasn't going to hold this weakness against him.
3) When he was with Teer. Teer was insistent and John *was* lonely, but the only way he got through it was imagining it was Teyla before him, wanting this.
4) After the gang had come for him through the time dilation field. Hell, at that point he would have kissed just about anyone from Atlantis. Well, maybe not McKay. Or only McKay.
5) Every time she let him hold Torren. Too afraid that he'd fuck up his own kids like his Dad had him and Dave -- or just from his own demons -- John had thought it would be easier to just never have any. When Teyla had first given over and entrusted John with the newborn so they could escape from Michael's ship, he'd been caught, by the both of them, and it didn't matter that he wasn't Torren's father or whether Teyla actually loved Kanaan. John was theirs, in whatever capacity or however they needed him, forever.
And the one time he did --
-- when John set Atlantis down back in the Pegasus Galaxy, thanks in a very large part due to Teyla's persistence, diplomacy, and demands. The full IOA had not been able to gainsay Teyla Emmagan as she'd pointed out that Atlantis wasn't Earth's to keep, when she'd all but called them petty liars and thieves and still had them falling all over themselves to make it right. John wasn't the only one who kissed Teyla then, but he was the one she allowed first. Was the one she kissed back.