Abstract Counting perfect matchings is an interesting and challenging combinatorial task. It has important applications in statistical physics and chemistry. As the general problem is #P-complete, it is usually tackled by randomized heuristics and approximation schemes. Let G G and H H be two graphs. Denote by G × H G\times H the Cartesian product of graphs G G and H H . The number of perfect matchings of some types of Cartesian product G × H G\times H is investigated by the Pfaffian method, where G ≅ P 2 G\cong {P}_{2} , P 3 {P}_{3} , P 4 {P}_{4} or C 4 {C}_{4} , and H ≅ T H\cong T or H H is a non-bipartite graph with a unique cycle. In this article, we construct a Pfaffian orientation of the graph G × P 2 G\times {P}_{2} , where G G is a non-bipartite graph with k k odd cycles. We obtain the counting formula on the number of perfect matchings of G × P 2 G\times {P}_{2} .