Schedule-based or headway-based control schemes to reduce bus bunching are not resilient because they cannot prevent buses from losing ground to the buses they follow when disruptions increase the gaps separating them beyond a critical value. This critical gap problem can be avoided, however, if buses at the leading end of such gaps are given information to cooperate with the ones behind by slowing down. This paper builds on this idea. It proposes an adaptive control scheme that adjusts a bus cruising speed in real-time based on both its front and rear spacings, much as if successive bus pairs were connected by springs. The scheme is shown to yield regular headways with faster bus travel than existing control methods. Its simple and decentralized logic automatically compensates for traffic disruptions and inaccurate bus driver actions. Its hardware and data requirements are minimal.