In essence you need to place each of the elements in a block. This can be achieved either via a tabular
, or via a minipage
(other options also exist). Below I've used a set of minipage
s:

\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\begin{minipage}[b]{.45\textwidth}
\centering
\includegraphics[width=.8\linewidth]{example-image-a}
\caption{Some caption that is associated with the left figure.}
\end{minipage}\hfill
\begin{minipage}[b]{.45\textwidth}
\centering
\includegraphics[width=.7\linewidth]{example-image-b}
\caption{Some caption that is associated with the right figure.}
\end{minipage}
\end{figure}
\end{document}
Each minipage
is aligned at the [b]
ottom so that different-sized images (vertically) still have their captions aligned as expected. Of course, you can adjust this.
The width of the minipage
s are set to .45\textwidth
, totalling 90% of the text block width. The remaining 10% is \hfill
ed to provide some gap between the captions (this necessarily pushes both boxes flush left/right with the text block). Again, you can adjust this to suit your needs.