We propose a dynamic model of decentralized many-to-one matching in the context of a competitive labor market. Through wage offers and wage demands, firms compete over workers and workers compete over jobs. Firms make hire-and-fire decisions dependent on the wages of their own workers and on the alternative workers available on the job market. Workers bargain for better jobs; either individually or collectively as unions, adjusting wage demands upward/downward depending on whether they are currently employed/unemployed. We show that such a process is absorbed into the core with probability one in finite time. Moreover, within the core, allocations are selected that are characterized by surplus splitting according to a bargaining solution such that (i) firms and workforce share total revenue according to relative bargaining strengths, and (ii) workers receive equal workforce shares above their individual outside options. These results bridge empirical evidence and provide a rich set of testable predictions.