Providing fair bandwidth allocation for applications is becoming increasingly compelling in cloud datacenters, as different applications compete for the shared datacenter network resources. While existing solutions mainly provide bandwidth guarantees for virtual machines (VMs) or tenants with the aim of achieving the VM-level or tenant-level fairness of bandwidth allocation, scant attention has been paid to providing bandwidth guarantees for applications to achieve the fairness of application performance (utility). In this paper, we introduce a rigorous definition of application-level utility max-min fairness, which guides us to develop a non-linear model to investigate the relationship between the utility fairness and bandwidth allocation for applications. Based on such a model, we further arbitrate the intrinsic tradeoff between the network bandwidth utilization and utility fairness of application bandwidth allocation, using a tunable fairness relaxation factor. To improve the bandwidth utilization while maintaining the strict utility fairness of bandwidth allocation, we design UFalloc, an application-level Utility max-min Fair bandwidth allocation strategy in datacenter networks. With extensive experiments using OpenFlow in Mininet virtual network environment, we demonstrate that UFalloc can achieve high utilization of network bandwidth while maintaining the utility max-min fair share of bandwidth allocation with a certain degree of fairness relaxation, yet with an acceptable computational overhead.