For incremental redundancy transmission on multiple parallel channels in a MIMO system, a transmitter processes (e.g., encodes, partitions, interleaves, and modulates) each data packet for each parallel channel based on a rate selected for the parallel channel and obtains multiple symbol blocks for the packet. For each data packet, the transmitter transmits one symbol block at a time on its parallel channel until a receiver recovers the packet or all blocks have been transmitted. The receiver performs detection and obtains symbol blocks transmitted on the parallel channels. The receiver recovers the data packets transmitted on the parallel channels independently or in a designated order. The receiver processes (e.g., demodulates, deinterleaves, re-assembles, and decodes) all symbol blocks obtained for each data packet and provides a decoded packet. The receiver may estimate and cancel interference due to recovered data packets so that data packets recovered later can achieve higher SINRs.