Karthikeyan. From the head on shot you can see Vettel holding his line just fine and then Karthikeyan moving across to the right.
He even admitted that he hit Vettel, (http://www.autosport.com/news/report.php/id/98390) he had wheelspin because he got too far up on the curb and he then moved to the right to avoid it, and in the process shredding Vettels’ rear tyre.
A stupid incident, but ultimately it was Karthikeyan who got too wide on the curb. So he will have to deal with it without taking off another driver.
I don’t really think it was anyone’s fault particularly, they just seemed to move towards eachother really. One thing though, I really thought Vettel’s hand gestures after the incident (seen on BBC’s post race show) were a bit much. I know that in the heat of the moment it gets frustrating but it just made him seem a little petulant if I’m honest.
It looked like 100% Karthikeyan’s fault to me, from the front-on view you can see he swipes across behind Vettel, presumably to get in his tow. I seem to remember him getting into trouble near the start too (not when Button hit him), I think considering the circumstances, Vettel’s comments were acceptable.