This paper presents the design, implementation, and evalu- ation of Ditto, a system that opportunistically caches over- heard data to improve subsequent transfer throughput in wireless mesh networks. While mesh networks have been proposed as a way to provide cheap, easily deployable Inter- net access, they must maintain high transfer throughput to be able to compete with other last-mile ... [Show full abstract] technologies. Un- fortunately, doing so is dicult because multi-hop wireless transmissions interfere with each other, reducing the avail- able capacity on the network. This problem is particularly severe in common gateway-based scenarios in which nearly all transmissions go through one or a few gateways from the mesh network to the Internet. Ditto exploits on-path as well as opportunistic caching based on overhearing to improve the throughput of data transfers and to reduce load on the gateways. It uses content- based naming to provide application independent caching at the granularity of small chunks, a feature that is key to being able to cache partially overheard data transfers. Our evaluation of Ditto shows that it can achieve significant performance gains for cached data, increasing throughput by up to 7x over simpler on-path caching schemes, and by up to an order of magnitude over no caching.