Faits: A. Par jugement du 27 janvier 2009, le Tribunal de police de l'arrondissement de Lausanne a condamné X._ pour injure (art. 177 CP), violence ou menace contre les autorités et les fonctionnaires (art. 285 CP) et contravention à la loi cantonale sur les sentences municipales à une peine pécuniaire de 20 jours-amende à 130 fr. avec sursis pendant trois ans, ainsi qu'à 500 fr. d'amende. Il a donné acte à A._, B._ et C._ de leurs réserves civiles contre X._. Le jugement retient en substance ce qui suit: Le 17 septembre 2006, vers 22 h. 26, Police-Secours Lausanne a reçu un appel téléphonique signalant qu'un homme était étendu dans l'entrée de l'immeuble Y._. L'auteur de l'appel ajoutait qu'il avait entendu une détonation provenant de ce bâtiment. Deux patrouilles, l'une composée de A._ et de C._, l'autre de B._ et D._, ont été dépêchées sur place. A leur arrivée, les policiers ont retrouvé X._, fortement alcoolisé, couché devant l'ascenseur. L'intéressé s'est montré oppositionnel et agressif. Il a refusé de donner son identité. Conduit à l'intérieur de son logement situé dans l'immeuble, X._ a montré son passeport aux policiers et sommé ceux-ci de quitter les lieux. Lorsque les policiers ont refusé de partir, voulant terminer leurs contrôles d'usage, X._ a traité A._ de "connard" et "petit con de 30 ans". Il a affirmé "qu'il avait un 9 mm plus gros que celui de la police et que si A._ voulait l'avoir il l'aurait" et tenu d'autres propos humiliants à l'égard des policiers. A._ a essayé de calmer X._. Alors que les policiers étaient sur le point de partir, X._ a agressé A._ en le saisissant d'une main au cou et de l'autre au col de son gilet pare-balles. Après avoir été repoussé, il a réitéré son geste en frappant cette fois A._ à la poitrine d'un coup de poing. L'origine du coup de feu prétendument entendu n'a pas pu être déterminée. B. Par arrêt du 6 avril 2009, la Cour de cassation pénale du Tribunal cantonal du canton de Vaud a rejeté le recours formé par X._ et confirmé le jugement de première instance. C. X._ interjette un recours en matière pénale contre cet arrêt dont il demande l'annulation. Il conclut, avec suite de frais et dépens, à son acquittement, subsidiairement au prononcé d'une simple amende, plus subsidiairement au renvoi de la cause aux autorités cantonales. Par ordonnance du 31 août 2009, le Président de la Cour de céans a rejeté la requête d'effet suspensif contenue dans le recours. Le Tribunal fédéral n'a pas ordonné d'échange d'écritures sur le fond.