The present disclosure is directed to a system and method for dynamic and adaptive load balancing. An example method includes receiving, at a network device, a data packet to be sent via one or more aggregation groups, where the aggregation groups each comprise a plurality of aggregate members. The example method further includes determining, based on the data packet, a flow identifier of a flow to which the data packet belongs and determining a state of the flow. The example method also includes determining, based on the flow identifier and the state of the flow, an assigned member of the plurality of aggregate members for the flow and communicating the packet via the assigned member.