Goals from Bolo Zenden and Jimmy Floyd Hasselbaink twice put Boro ahead but they go into the second leg next Thursday on level terms.
Graz AK 2 Middlesbrough 2
Graz started the brighter with Matthias Dollinger firing just wide of target in the opening minute. There was then liitle of note until in the 20th minute Anton Ehmann met Roland Kollmann's curling free-kick from the right, but his free header from eight yards cleared the crossbar with Mark Schwarzer stranded.
At the other end Michael Reiziger drew a first save from Andreas Schranz before the game dropped in tempo with Boro's 4-5-1 formation keeping the game s tight in midfield.
Just past the half-hour mark Ehmann threatened from a left-wing corner by Kollmann, his low shot drawing a save low down by his right post from Schwarzer.
Debutant Imants Bleidelis missed a clear chance five minutes before the interval, dragging his shot wide from the edge of the area after Franck Queudrue had clattered into Chris Riggott to leave Bleidelis clear on goal.
Seven minutes after the restart Boro made a breakthrough as Zenden ran unchallenged from near the halfway line before planting a low right-foot shot beyond the dive of Schranz from 20 yards out.
Mario Bazina almost levelled the scores four minutes later, but Schwarzer stood firm to make the block at his near post.
However, with 64 minutes on the clock Bazina made it 1-1 as he latched on to Kollmann's pass to drill in a shot which just beat Schwarzer low down to his right.
Boro responded immediately as Stewart Downing found space on the left and his pinpoint cross left Hasselbaink with a close-range header to make it 2-1 to the visitors.
Kollmann equalised again for GAK 11 minutes from time with an accurate free-kick from 20 yards leaving Schwarzer rooted to the spot, but the striker was sent off soon after following a second yellow card, following a dive.
Hasselbaink was denied from close-range by Schranz five minutes before the final whistle, as the game ended 2-2.