Mixing is an ubiquitous process in environmental flows. In order to better understand the mechanisms involved in achieving well-mixedness of a stratified flow, we investigate the optimisation of mixing in stratified, 2D Poiseuille flow by means of a fully nonlinear direct-adjoint looping method, where the initial perturbation leading to maximal mixing efficiency over a given time horizon is determined. A recent study by Foures et al. (2014) has demonstrated that the widely-used approach consisting in maximizing the time-averaged kinetic energy surprisingly results in largely sub-optimal suppression of a passive scalar variance. By identifying the initial perturbations which either maximize the kinetic energy transient growth or minimize a specific `mix-norm' at a chosen target time, we extend these results to the case of an active scalar. We show how buoyancy modifies the optimal-mixing strategy and, by considering the time evolution of the kinetic energy and potential energy reservoirs, discuss the physical mechanisms involved in achieving efficient irreversible mixing.