Sehwag was unbeaten on 91 at the lunch-break before hammering a robust 128 not out for his 15th Test hundred on a rain-hit opening day.
He dominated a 167-run stand for the opening wicket with Gautam Gambhir (56).
But unorthodox spinner Mendis and veteran left-arm seamer Vaas did not allow India to capitalise on a strong start, sharing four quick wickets to reduce the tourists to 214-4 in the first innings at stumps.
Only four batsmen -- Australians Victor Trumper, Charles Macartney and Don Bradman, and Pakistan's Majid Khan -- have scored a hundred before lunch on the opening day of a Test.
It was the second time that Sehwag had missed out on the rare distinction, having smashed an unbeaten 99 before lunch against the West Indies in Saint Lucia two years ago.
India were comfortably placed at 151 for no loss at lunch, but their batting woes began when play resumed in the last session after more than three hours were lost due to rain, as four wickets fell in the space of 11 runs.