The adjoint solution has found many uses in computational simulations where the quantities of interest are the functionals of the solution, including design optimization, error estimation, and control. In those applications where both the solution and the adjoint are desired, the conventional approach is to apply iterative methods to solve the primal and dual problems separately. However, we show that there is an advantage associated with iterating the primal and dual problem simultaneously since this enables the construction of iterative methods where both the primal and the dual iterates may be chosen so that they provide functional estimates that are "superconvergent" in that the error converges at twice the order of the optimal global solution error norm. In particular, we show that the structure of the Lanczos process allows for this superconvergence property and propose a modified QMR method which uses the same Lanczos process to simultaneously solve the primal and dual problems. Thus both the primal and the dual systems are solved at essentially the same computational cost as the conventional QMR method applied to the primal problem alone. Numerical experiments show that our proposed method does indeed exhibit superconvergence behavior.