Cardiff fought back from two goals down in Neil Harris' first game in charge to rescue a point with a 2-2 draw at Charlton.
Cardiff should have gone ahead in the 11th minute when Mendez-Laing beat two defenders before pulling back to Callum Paterson, who hit the side-netting from eight yards.
They were made to rue that miss two minutes later as the Addicks went in front in their first attack.
Macauley Bonne did well to break into the box and find Leko, who made a very poor connection with a miskick.
Fortunately for him Gallagher was perfectly placed to take full advantage of the loose ball, chesting it down before slotting home past Neil Etheridge.
Patterson claimed he had been tripped in the box by Deji Oshilaja just as he was about to pull the trigger, a penalty appeal which failed to impress referee Darren Bond.
Gary Madine produced two headers and then a shot which was well blocked by Jason Pearce, but it was Charlton who doubled their advantage just before the break.
A Cardiff attack broke down, allowing the hosts to quickly launch a counter which ended with Erhun Oztumer feeding Leko and his low shot went in via a slight deflection off Marlon Pack.
Cardiff were presented with the perfect chance to get back in the contest three minutes into the second half when Ben Purrington was adjudged to have hauled back Paterson in the area.
This time the referee had no hesitation pointing to the spot, although Hoilett's poorly-struck penalty was easily saved by Phillips.
His blushes were spared in the 52nd minute after the hosts failed to clear their lines from a corner.
The ball was played back into a packed penalty area and some poor Charlton defending was punished by Mendez-Laing's finish.
Phillips did very well to somehow keep out Leandro Bacuna's effort, while Charlton substitute Albie Morgan drew two saves in quick succession from Etheridge.
Bonne fired inches over from the edge of the box before Madine saw a close-range header go behind after connecting with Aden Flint's flick-on.
Cardiff's second-half pressure was finally rewarded with a 73rd-minute leveller.
Joe Bennett pulled a pass back to unmarked substitute Tomlin, who drilled a low shot into the bottom corner.
Oztumer had a decent crack from 20 yards three minutes from time which flew off target and Flint should have at least tested Phillips at the other end moments later.
Substitute Omar Bogle fired tamely at the Charlton keeper just before seven minutes of injury time were signalled.
Bonne placed a shot wide and then saw a goal-bound effort well blocked by Lee Peltier but a draw was probably a fair outcome at the end of an entertaining clash.