Watford almost scored with their first real chance of the match when Marco Faraoni unleashed a right-footed shot from the right side of the box, but his effort was saved.
New signing Albert Adomah looked to push the hosts ahead when he delivered for Kamara, whose header was blocked in front of goal.
Adomah then took things into his own hands as he collected the ball from Rhys Williams, before crashing a shot into the bottom right corner to put Middlesbrough 1-0 ahead.
However, Watford grabbed an equaliser following a poor piece of defending from the hosts as Deeney stole in to poke the ball home.
The visitors nearly took the lead in the opening exchanges of the second half when Sean Murray was played in, but he could not keep his right-footed shot on target.
Watford went close again in the 60th minute when Fernando Forestieri found space to work a right-footed shot from outside the box, which was well kept out by the keeper.
The Watford striker finally put his side in front with a solo effort from the centre of the box in the 73rd minute.
It looked as if Watford would see out the victory, but Ayala rose to head home in the last minute of injury time to earn the home side a surprise draw.