The basic idea upon which self-balancing trees are based is tree rotation. Rotations change the height of subtrees but do not affect the ordering of elements required for binary search trees.
The tree on the left is converted to the tree on the right with a right rotation, or vice versa with a left rotation. Both trees maintain the required ordering, but the heights of the subtrees have changed. In this diagram, B and D are single nodes, while A, C, and E could be subtrees.
There are several other rotation cases, but this is the basic idea.