Double-diffusive convection plays an important role in many physical phenomena of practical importance. However, the numerical simulation of these phenomena is challenging since fine meshes are often required to capture the flow physics. Hence, several different numerical methods have been employed in the past. This work reports the development and application of an adaptive finite element method for the simulation of these phenomena, thereby avoiding the need for the use of very fine meshes over the whole domain. The weak formulation of the conservation equations for mass, momentum, energy and species concentration is used. The Boussinesq approximation relates the density of the fluid to the temperature and/or the species concentration. A second-order backward difference method is used for time discretization and the Galerkin method is employed for spatial discretization. Both adaptive time step and grid refinement techniques are employed, and the code is parallelized using MPI. Three different stabilization methods of the convective-diffusion equations are compared; namely, the streamline upwind Petrov–Galerkin (SUPG) method, and two modified methods aimed at diminishing spurious oscillations that include an artificial diffusion term. This diffusion term may be either isotropic or orthogonal to the streamlines. The addition of artificial isotropic diffusion to the SUPG method provides enhanced stability. The method is applied to double-diffusive finger convection in a sucrose-salt aqueous mixture and a stratified salt solution heated from below. The method accurately reproduces the experimentally observed temporal evolution of the salt fingers in the former case and the location of the interfaces between convective and non-convective zones in the latter.