This has been exhaustively discussed in the Game Physics Tutorial at the GDC over the years. You can find all presentations here:
In particular "Fast and Simple Physics using Sequential Impulses" from 2006. It comes with a stripped down 2D implementation of Box2D (called Box2D Lite). I would starting studying this.