This paper presents a flexible actuator with variable stiffness and its associated decoupling control algorithm. The elastic cell consists of two opposite-handed torsion springs and two cam-bearing followers (CBFs). Stiffness regulation is realized by changing the contact point position between the torsion spring and the CBFs. The CBFs are pulled via wire rope transmission and their movement direction is perpendicular to the torsion direction of the springs, thereby resulting in rolling friction. Such a design ensures a wide range of stiffness variations and small energy consumption for stiffness regulation, and contributes to a compact actuator design. Experimental results demonstrate that the proposed mechanism has good stiffness regulation and can reduce stiffness rapidly after collision. The dynamics of load side and motor side are controlled separately by a decoupling control algorithm based on the projection between the virtual torque and the commands of motor position and velocity. The virtual torque required to track the joint trajectory is calculated according to a hybrid proportional–derivative control algorithm, which incorporates a disturbance compensator composed of a smooth saturation function. The spring–damper model is successfully applied to the projection between the virtual torque, and the commands of motor position and velocity algorithm design. The feasibility of the designed actuator and the effectiveness of the control algorithm are demonstrated by trajectory–tracking control experiments under various operating conditions.