In this paper, we propose Mutualcast, a new delivery mechanism for content distribution in peer-to-peer (P2P) networks. Compared with prior one-to-many content distribution approaches, Mutual-cast splits the to-be-distributed content into many small blocks, so that more resourceful nodes may redistribute more blocks, and less resourceful nodes may redistribute less blocks. Each content block is assigned to a single node for distribution, and the node in charge can be a content-requesting peer node, a non-content-requesting peer node, or even the source node. The throughput of the distribution is controlled by redistribution queues between the source and the peer nodes. We show that such a strategy fully utilizes the upload bandwidths of all the peer nodes, thereby maximizing the delivery throughput. Furthermore, Mutualcast is simple and flexible. It can be applied to file/software downloading, media streaming, and erasure coded file distribution in a P2P network.