Patel held a return catch on second attempt in his first over with the second new ball to dismiss stand-in captain Flintoff, who smashed two sixes and 11 fours in his aggressive 123-ball 70.
England reached 288-6 in their first innings at lunch on the third day after resuming at 200-5. Wicket-keeper Geraint Jones was unbeaten on 46 at the break with Liam Plunkett, who had yet to score.
Jones, who put on 103 for the sixth wicket with his captain, also completed 1,000 Test runs during his 111-ball knock.
The Flintoff-Jones stand came just when England needed a big partnership to sustain their hopes of posting a challenging total.
The tourists were 180-5 when Jones joined his captain on Friday, and the gutsy wicket-keeper played a supporting role well. He batted cautiously, while Flintoff executed some aggressive shots.
Debutant leg-spinner Piyush Chawla suffered the most as Flintoff hoisted him for two sixes in one over. The spinner was replaced after conceding 25 runs in four overs.
Flintoff, 26 overnight, went for shots early in the morning, sweeping leg-spinner Anil Kumble for a four and then completing his 19th Test half-century with a single to point off the same bowler.
Kumble, just two short of 500 Test scalps, went wicketless in his morning's nine-over spell.
With the spinners failing to trouble Flintoff and Jones, India took the second new ball at 282 after 90 overs before tasting the lone success.
Flintoff and Jones each had a close shave, after the match started in overcast conditions, when their edges off Patel dropped just short of skipper Rahul Dravid at first slip.
Irfan Pathan, Patel and Kumble have so far taken two wickets apiece.