Transport for London had refused to carry the ad on the grounds that it was "likely to cause widespread or serious offence to members of the public", and it contained "images or messages which relate to matters of public controversy and sensitivity".
Today the judge backed the TfL stance, despite her finding that there had been unfairness in its procedures.
The judge said TfL had applied its advertising policy "inconsistently and partially", but its refusal to display the gay ad was "justified and proportionate, in furtherance of the legitimate aim of protecting the rights of others".
More top news
A police officer who spent six days crawling the London Marathon in a gorilla costume has finally completed the 26-mile route.
The victim of a "violent and sustained attack" on the top deck of a London bus has been named as Archie Sheppard.
Transport for London has made the badges and accompanying cards permanently available after a successful trial in autumn last year.