In this paper, we propose Opportunistic Carrier Prediction (OCP) that jointly addresses exposed terminal and hidden terminal problems in wireless networks. OCP is based on the rationale that past interference information can be a good indicator for the outcome of future packet delivery. Each OCP sender maintains a summary of past interference information and opportunistically accesses the channel when it is confident that the packet transmission will be successful and cause no collision to other flows. To realize OCP, we propose (1) a novel data structure for each sender to summarize the interference information and (2) physical layer preemptive decoding scheme for each sender to collect the identities of the interferers. We show that OCP improves the system throughput by up to 170%, packet delivery success ratio by up to 400% in random topologies, while almost eliminating starvation.