Referencing within an align environment

The \label is on the same equation line (not code line) as the \nonumber and therefore doesn't get any equation number to label and to reference later. You need to move \nonumber (or the \label) before the \\:

\documentclass{article}

\usepackage{amsmath}
\begin{document}
\begin{align}
  E=mc^2 \nonumber \\
  E=mc^2 \label{eq1}
\end{align}

ref \ref{eq1}
\end{document}

In the above case the equation number is placed in the second row. If you want it in the first then place the \nonumber after the \\ but the \label before it.


use it this way:

\begin{align}
  E=mc^2 \nonumber\\ 
  E=mc^2 \label{eq1}
\end{align}

ref \ref{eq1}

Set \nonumber before the double backslash


For posterity: I solved this problem by commenting out the package cleverref, which was somehow interfering with my ability to reference equation numbers in the usual non-clever way (this is not the problem OP had, but this post is a top hit on google when I searched for my symptoms so I'm leaving a comment here).