—Conflict free spectrum allocation for secondary users in cognitive networks is a challenging problem, since the accessible spectrum is shared among users. The problem becomes to be especially difficult when it is wanted to get the maximum utility of the system considering access fairness among users. In this paper, a novel method using bipartite graph matching is proposed to approach this target, where users cooperatively optimize spectrum allocation to get the maximal system utility while avoiding interference with its neighbors. An idealized method for centralized cognitive networks is presented; experimental results show that proposed algorithm dramatically maximizes spectrum utilization together with reducing allocation conflictions among users, which minimize the number of starved users during the allocation.