collision detection problem in fast moving object

I am developing cricket game. when a ball(as sphere collider ) is at high speed it does not collide with bat pass to through bat ( object as box collider). And also when i try to move bat fast for the powerful shot then also ball pass through the bat and not collide.

Use a raycast.

// Collider information will be saved in this variable
RaycastHit hit;

// Distance - Increase or decrease this until you achieve your desired results
float distance = 20f;

if(Physics.Raycast(transform.position, transform.forward, out hit, distance))
    // collision has occured
    // use hit.collider for collider info