Given a graph $G$ on the vertex set $V$, the {em non-matching complex} of $G$, $NM_k(G)$, is the family of subgraphs $G subset G$ whose matching number $ u(G)$ is strictly less than $k$. As an attempt to generalize the result by Linusson, Shareshian and Welker on the homotopy types of $NM_k(K_n)$ and $NM_k(K_{r,s})$ to arbitrary graphs $G$, we show that (i) $NM_k(G)$ is $(3k-3)$-Leray, and (ii) if $G$ is bipartite, then $NM_k(G)$ is $(2k-2)$-Leray. This result is obtained by analyzing the homology of the links of non-empty faces of the complex $NM_k(G)$, which vanishes in all dimensions $dgeq 3k-4$, and all dimensions $d geq 2k-3$ when $G$ is bipartite. As a corollary, we have the following rainbow matching theorem which generalizes the result by Aharoni et. al. and Driskos theorem: Let $E_1, dots, E_{3k-2}$ be non-empty edge subsets of a graph and suppose that $ u(E_icup E_j)geq k$ for every $i e j$. Then $E=bigcup E_i$ has a rainbow matching of size $k$. Furthermore, the number of edge sets $E_i$ can be reduced to $2k-1$ when $E$ is the edge set of a bipartite graph.