A heat exchanger is provided to efficiently transfer heat between air and a flow of refrigerant in a reversing air-sourced heat pump system. When the system is operating in heat pump mode, a flow of air is directed through the heat exchanger and is heated by the refrigerant. A portion of the flow of air is prevented from being heated by the refrigerant in a first section of the heat exchanger, and is used to sub-cool the refrigerant in another section of the heat exchanger after the remaining air has been heated by the refrigerant. The same heat exchanger can be used to cool a flow of air using expanded refrigerant when the system is operating in an air conditioning (cooling) mode.