This paper investigates the adaptive finite element solution of a general class of variational problems in three dimensions using a combination of node movement, edge swapping, face swapping and node insertion. The adaptive strategy proposed is a generalization of previous work in two dimensions and is based upon the construction of a hierarchy of locally optimal meshes. Results presented, both for a single equation and a system of coupled equations, suggest that this approach is able to produce better meshes of tetrahedra than those obtained by more conventional adaptive strategies and in a relatively efficient manner.