Ian Bell was last man out for 61, having shared a ninth-wicket stand of 55 in just 47 balls with Graeme Swann, whose 30 featured six fours.
England captain Andrew Strauss top-scored with 122, the opener's first Test century in 26 innings spanning 18 months.
Test debutant Shannon Gabriel took three wickets for 60 runs in 21.3 overs, with fellow fast bowler Kemar Roach bagging three for 108 in 25 overs.
This is the first of a three-Test series.
(AFP)