Leicester coach Claudio Ranieri praised his side for saving a point, which put them eight clear of second-placed Tottenham Hotspur with four matches to play.
Spurs’ match in hand is at Stoke City on Monday and if they win that they will narrow Leicester’s lead to five points.
“The sending-off changed the whole match, but I judge my players, not the referee,” Ranieri said without commenting on the red card.
“This was our soul, we play every match with blood, heart and soul, it was magnificent,” added the Italian whose team had won their last five games to close on their first English top-flight title.
West Ham almost scored in the second minute when Leicester keeper Kasper Schmeichel saved a header from Cheikhou Kouyate, tipping the ball on to his left-hand post before it rolled across the line and hit the other upright.
Vardy put Leicester ahead after a lightning counter-attack in the 18th minute with a left-foot shot into the corner of the net before picking up his first booking for a late challenge on Kouyate.
His second yellow came early in the second half when referee Jon Moss ruled he dived looking for a foul and the match gradually swung West Ham’s way.
They equalised through an 84th-minute Andy Carroll penalty after Wes Morgan hauled down Winston Reid and looked to have won the game two minutes later when Aaron Cresswell scored a stunning goal with a fierce shot from the edge of the box which dipped and swerved as it flew past Schmeichel.
But with only seconds of stoppage time remaining Leicester equalised when Ulloa scored from the spot after Carroll fouled Jeffrey Schlupp.
(Reporting by Mike Collett, editing by Ed Osmond)