One of the hallmarks of physical interaction between humans is haptic communication, i.e. an informa- tion exchange through force signals. Humans excel in tasks that require such interaction by adapting impedance and anticipating the partner’s intentions. It is highly desirable to endow robots with similar capabilities. Recently, the robotics community renewed its interest in variable impedance control. A special emphasis is put on the development of controllers that incorporate learning as an essential element. This article combines programming by demonstration and adaptive control for teaching a robot to physically interact with a human in a collaborative task requiring sharing of a load by the two partners. Learning a task model allows the robot to anticipate the partner’s intentions and adapt its motion according to perceived forces. As the human represents a highly complex contact environment, direct reproduction of the learned model may lead to sub-optimal results. To compensate for unmodelled uncertainties, in addition to learning we propose an adaptive control algorithm which tunes the impedance parameters, so as to ensure accurate reproduction. To simplify the illustration of the concepts introduced in this paper and provide a systematic evaluation, we present experimental results obtained in physically-realistic simulation of a dyad of two planar 2-DOF robots.