In two-dimensional bounded Lipschitz domains, we analyze a convective Brinkman–Forchheimer problem on the weighted spaces \({{\textbf {H}}}_0^1(\omega ,\varOmega ) \times L^2(\omega ,\varOmega )/{\mathbb {R}}\) , where \(\omega \) belongs to the Muckenhoupt class \(A_2\) . Under a suitable smallness assumption, we prove the existence and uniqueness of a solution. We propose a finite element method and obtain a quasi-best approximation result in the energy norm à la Céa under the assumption that \(\varOmega \) is convex. We also develop an a posteriori error estimator and study its reliability and efficiency properties. Finally, we develop an adaptive method that yields optimal experimental convergence rates for the numerical examples we perform.