Spanish Language Stack Exchange is a question and answer site for students, teachers, and linguists wanting to discuss the finer points of the Spanish language. It's 100% free, no registration required.

"I have had a great night with you" suggests that the night is still going on or that you're at the end of the night (maybe parting ways with your friend). If you mean that you had a great night last night or some other night in the past, then it should be "I had a great night with you" (note that "have" is removed).

Assuming you want the latter meaning, I'd say "lo pasé muy bien contigo anoche." Frequently "lo" is used instead of "la" (see Jorge Campos's answer) to refer to the events of the night, in general, and not the night itself. If you want the meaning expressed in your original sentence, then I'd say "lo he pasado muy bien contigo." This is more appropriate for the good-byes at the end of the night.